Уловка компьютерной крысы №8 ( как убрать водяной знак из pdf-файла )

Уловка компьютерной крысы №8 ( как убрать водяной знак из pdf-файла )

В недавнем материале я упомянул о своём самопальном способе удаления “водяных знаков” из pdf-файлов, скачанных с ProQuest.

Обратите внимание на то, что страницы скачанного pdf-файла «out.pdf» ухряпаны водяным знаком «PREVIEW» для защиты чего-то там. Может быть, такая надпись появляется только в пробной версии доступа к ProQuest. А может быть и нет. Врать не буду — не знаю.

Если кому-то «ндравится» лицезреть в файле этот «watermark», то так тому и быть. Но некоторых эстетов, вроде меня, он жутко раздражает. Идя навстречу трудящимся всего мира, программистами-умельцами были созданы программы, позволяющие удалять водяные знаки из pdf-файлов, например, «PDF Logo Remover», «PDF Watermark Remover», «Nitro Pro», «PDF Converter Ultimate», «VeryPDF PDF Text Replacer», «VeryPDF PDF to Any Converter» и т.п. И, как утверждают, даже сам «Adobe Acrobat Pro» также позволяет это делать. Перепробовав всё выше упомянутое, скажу: «Ни фига они не удаляют эту надпись PREVIEW из файлов, выдаваемых ProQuest!».

В принципе, задача изничтожения “watermark” на страницах pdf-файлов для аспирантов не совсем актуальна. Потому что кому нужно уловить лишь суть из многостраничных детищ фирмы Adobe, а, тем более, когда водяной знак не мешает непосредственному выдиранию “оттудова” текста, тому эта проблема – “по барабану”.

О днако жизнь гораздо сложней и многообразней аспирантской рутины, поэтому лично у меня не раз возникала задача очистить какой-нибудь pdf-файл от ненужных надписей, типа “PREVIEW”, “COPYRIGHT”, “DTIC” , “IEEE Proof” и тому подобное. Кстати, не с целью уворовать или присвоить чужой интеллектуальный продукт, Боже упаси, – а совершенно по другим причинам.

Т ак, что, единожды столкнувшись с такой проблемкой, я действительно перепробовал достаточно много программных изделий. В каких-то случаях срабатывало одно, в других – другое, но гораздо чаще “патентованные врачи” оказывались бессильны. И “чо” делать?

А что, например, делают в деревнях башковитые и рукастые мужики без денег, когда им надо передвигаться по местным ухабам? Они, используя подручные средства, остатки ещё колхозной советской техники, старые шины, куски металлолома во дворе да плюс соседский сварочный аппарат, просто мастрячят себе некий самоходный агрегат. Он, конечно, больно страшненький на вид, но, туды его в качель, – ВЕЗЁТ! А вам шашечки нужны, или ехать?

П оскольку многие вещи я издавна привык делать в командной строке в виде скриптов или батников 1) Такой подход на порядок облегчает жизнь при автоматизации различных рутинных операций, которых у меня на работе навалом, или при обработке больших массивов данных. В этом случае всё – под контролем. Причём, написав пару десятков строк и нажав кнопочку, можно идти на все четыре стороны – хоть курить, хоть дремать! , то и в данном случае “безоболочечный” и неказистыйwatermark–терминатор” pdf-файлов я “слепил” для личных нужд из того, что было. Ну и ладно! Писать полноценную графическую оболочку, да ещё с новомодным, в стиле надгробных плиток, интерфейсом Windows было “в лом”. Вы же специально не переодеваетесь к ужину? А поесть за столом можно и в исподнем.

Алгоритм действий

В большинстве случаев водяной знак в pdf-файлах представляет собой некую надпись или текстовую картинку в фоне за основным текстом. Причём для его изображения в pdf-документах с научно-техническим содержанием используется, как правило, некий оттенок серого – не пятьдесят, как сейчас модно, а один. Параноидальный случай водяного знака с многоцветной заливкой, градиентом, тенями и прочими дизайнерскими прибамбасами рассматривать не будем. У “вчёных” с этим немножко попроще. Поэтому в двух словах алгоритм самопальной “терминации” нежелательной маркировки заключается в следующем:

  • при наличии защиты снимаем ограничения на редактирование pdf-файла,
  • разбиваем pdf-файл на отдельные страницы,
  • конвертируем страницы в графический формат, например, “tif”,
  • из любой tif-страницы вручную вырезаем и копируем небольшой фрагмент с водяным знаком,
  • по этому фрагменту определяем цветовой код водяного знака,
  • во всех изображениях заменяем цвет водяного знака на цвет фона страницы (стопроцентно белый),
  • преобразуем tif-файлы обратно в pdf-странички,
  • и на завершающем этапе объединяем все новоявленные pdf-страницы в один реинкарнированный файл.

И так, рассмотрим описанный выше алгоритм более подробно.

П редположим, что у нас имеется некий pdf-файл с какой-то дурацкой серой надписью в фоне. Причём, усложним вводную: пусть файл к тому же защищён от изменений.

В от вам живой пример такого файла – это корректура моей статьи в журнале “Geoscience and Remote Sensing” , которую мне прислали оттуда в 2004 году для заключительной правки. Открыв этот файл в “Adobe Acrobat pro”, и нажав “Ctrl-D”, можно убедиться в “Свойствах документа” в разделе “Защита”, что в этом pdf-файле запрещено изменение, компоновка, копирование и извлечение страниц.

1. Снимаем ограничения

Т аким образом, первым делом нужно снять установленную защиту или ограничения. Один из способов этого недружелюбного действа был описан мной ещё в “Уловке № 6 – Вскрываем запароленный pdf-файл” . Там для этого использовалась, прямо скажем неплохая программа от “Wоndеrshаrе” – “PDF Sрlitter 1.5”, взятая, как всегда, у буржуев во временное пользование.

Н о, к сожалению, “PDF Sрlitter 1.5” не позволяет работать из командной строки 2) Вообще-то, для того, чтобы в скриптах использовать программы без поддержки командной строки, я разработал некую методику – может быть не очень элегантную, но зато работающую. Как-нибудь опишу её в очередной “Уловке”. . Поэтому пришлось искать альтернативу, которая и была найдена в лице бесплатной утилиты “ qpdf ” 3) Ссылка на “первоисточник” , ссылка на место откуда можно скачать эту утилиту. , позволяющей в одну строку

снять ограничения с pdf-файла 4) При работе используются следующие файлы: “ qpdf.exe ”, “ libgcc_s_dw2-1.dll ”, “ libstdc++-6.dll ”, “ qpdf13.dll ”. Исходная ссылка, информация о QPDF и ссылка на место загрузки, ссылка на место загрузки собственно утилиты. . Простенько и со вкусом.

О собых иллюзий в отношении “ qpdf” , конечно, строить не следует. Что может, она делает, а уж чего не может, то “Ну, не шмогла я”.

2. Бьём на части

П ошли дальше. Для разбивки (“split”) и объединения (“merge”) pdf-файлов наворочена хренова туча программ: разного объёма и с разными возможностями 5) Например, “A-PDF Merger 2.4” , “Free PDF Merger (Splitter)” , “PDF Content Split” , “PDF Splitter and Merger” , “PDF Stitcher 2.0” , “Wondershare PDF merger-splitter”, “TPDF” и т.д. и т.п. . Но мне всегда было привычней и удобней сварганить батник, прописать туда пару-тройку строк, и не париться.

Н апример, файл “input.pdf” со снятыми ограничениями можно в мгновение ока “раздраконить” на отдельные страницы с помощью утилит “pdftk” , “tpdf” , или “cpdf” , выполнив в командной строке всего лишь

П осле первой и третьей команды в текущей папке появится куча файлов вида “pg_0001.pdf”, “pg_0002.pdf”, …, а после второй – “out_001.pdf”, “out_002.pdf”, …

3. Преобразуем pdf в tif

Д ля этой операции тоже понавыдумывали дофига и больше специальных красивеньких программ и онлайн-сервисов. Но я для подобных целей использую набор программного обеспечения “Ghostscript” (см. краткую информацию). На сегодня имеется версия 9.18, которую можно загрузить отсюда и “за без денег” установить – при желании, естественно. Портативная версия Ghostscript для стареньких и новеньких Windows (необходимая для данного случая) может быть загружена отсюда.

В от – пример однострочной команды в bat-файле, с помощью которой файл “input.pdf” преобразуется в “output.tif”.

4. Извлекаем водяной знак

Э то – единственный момент человеческого вмешательства в автоматический процесс волшебного исчезновения watermark. Поначалу я хотел задействовать “Paint Shop Pro 6.02”, которую использую беспрерывно, несмотря на 15-летний возраст этой программулины. “ Старые люди – старые вещи ” . Поскольку данная версия – лёгка как птичка, быстра и интуитивно понятна. В отличие от её нынешнего потомка – последней версии X8 – раздувшегося монстра с дистрибутивом порядка 250 Мб с офигенными возможностями, которые на 99% не нужны при моей рутинной работе. Хотя тенденция – налицо. Вместо “Windows 3.11 for Workgroups” на трёх дискетках и 640 килобайт памяти, ныне любая железяка, даже самая пи́галица, оперирует гигабайтами и десятками гигабайт.

Н о, потом вспомнил об ещё одной замечательной программе – “IrfanView” , которая входит в мой круг “избранных” и “незаменимых” (сейчас у меня версия 4.37). Её использование вместе с утилитами “clipin” и “cmp” (из замечательного 135-утилитного набора “Poof!” ) позволило максимально автоматизировать этап выборки фрагмента с водяным знаком.

Р азумному существу, например, аспиранту, осталось только выделить мышкой в открывшемся в IrfanView файле “кусочек” собственно водяного знака, нажать всемирно известную комбинацию “Ctrl-C” и закрыть IrfanView.

Н а этом ваша выполнимая миссия заканчивается, после чего можно “оправиться и закурить”.

📎📎📎📎📎📎📎📎📎📎