<
  • Главная
Статьи

Виверт № 8

  1. алгоритм дій
  2. 1. Знімаємо обмеження
  3. 2. Б'ємо на частини
  4. 3. Перетворимо pdf в tif
  5. 4. Витягуємо водяний знак
  6. 5. Визначаємо колірний код водяного знака
  7. 6. «Страта» водяного знака
  8. 7. Повернення до «витоків»
  9. 8. PDF всіх країн, єднайтеся!
  10. Післямова
  11. Коди для допитливих
  12. Інструкція
  13. Посилання на старі прийоми

У недавньому матеріалі я згадав про своє самопальному способі видалення «водяних знаків» з 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 »тощо. До речі, не з метою вкрасти або привласнити чужий інтелектуальний продукт, Боже упаси, - а зовсім з інших причин.

Т ак, що, одного разу зіткнувшись з такою проблемкою, я дійсно перепробував чимало програмних виробів. У якихось випадках спрацьовувало одне, в інших - інше, але набагато частіше «патентовані лікарі» виявлялися безсилими. І «чо» робити?

А що, наприклад, роблять в селах тлумачні і рукаті мужики без грошей, коли їм треба пересуватися по місцевим вибоїнах? Вони, використовуючи підручні засоби, залишки ще колгоспної радянської техніки, старі шини, шматки металобрухту у дворі так плюс сусідський зварювальний апарат, просто мастрячят собі якийсь самохідний агрегат. Він, звичайно, боляче страшненький на вигляд, але, туди його в гойдалку, - везе! А вам шашечки потрібні, або їхати?

П оскольку багато речей я здавна звик робити в командному рядку у вигляді скриптів або батники, то і в даному випадку «безоболочечний» і непоказний «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» не дозволяє працювати з командного рядка. Тому довелося шукати альтернативу, яка і була знайдена в особі безкоштовної утиліти «qpdf», що дозволяє в один рядок

qpdf -decrypt input.pdf output.pdf

зняти обмеження з pdf-файлу. Просто і зі смаком.

Про собих ілюзій щодо «qpdf», звичайно, будувати не слід. Що може, вона робить, а вже чого не може, то «Ну, не шмогла я».

2. Б'ємо на частини

П ошлі далі. Для розбивки ( «split») і об'єднання ( «merge») pdf-файлів наворочено Хренова хмара програм: різного об'єму і з різними можливостями. Але мені завжди було звичніше і зручніше зварганити батник, прописати туди пару-трійку рядків, і не паритися.

Н апример, файл «input.pdf» зі знятими обмеженнями можна в одну мить «раздраконілі» на окремі сторінки за допомогою утиліт « pdftk »,« tpdf », Або« cpdf », Виконавши в командному рядку всього лише

tpdf -t split -in input.pdf -out out_.pdf -ns -

або

cpdf -split input.pdf -o pg _ %%%%%%%%. pdf

П віслюку першої та третьої команди в цій папці з'явиться купа файлів виду «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».

gswin32.exe -dNOPAUSE -dQUIET -dNOPROMPT -sDEVICE = tiffgray -sCompression = lzw -r300x300 -dNOPAUSE -sOutputFile = output.tif input.pdf -c quit

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.

Н а цьому ваша здійсненне місія закінчується, після чого можна «оговтатися і закурити».

5. Визначаємо колірний код водяного знака

Д анная операція виконується за допомогою утиліти « identify »З шикарного програмного пакета по роботі з зображеннями« ImageMagick ». ImageMagick настільки могутній, що може все. Для цього потрібна одна єдина дрібничка - з ним треба розбиратися. Але точно також, як MiKTeX за словами Михайла Михайловича «покриває» Word і ще море всякого видавничого софта як «бик вівцю», так і ImageMagick відкриває безмежне море можливостей тим, хто хоче з зображень зробити «цукерку».

Про Однією єдиною командою виду

identify -verbose input.tif> info.txt

утиліта «identify» «розколює» вхідний файл «input.tif» так, як це не зможе зробити бригада слідчих після 10-годинного допиту. А вже з його «свідчень» (файл «info.txt») можна витягнути все, що потрібно, включаючи наші скромні потреби в колірному коді водяного знака.

6. «Страта» водяного знака

Н а завершальній стадії, заради якої і була затіяна вся ця метушня, в справу вступає ще одна ImageMagickовская утиліта зі скромним ім'ям « convert ». Визначивши на попередньому етапі колірний код заважає нам водяного знака, наприклад, у вигляді # D9D9D9, коротенькій командою

convert input.tif -fill white -opaque # D9D9D9 output.tif

ми повністю замінюємо цей колір у вихідному файлі «input.tif» на колір фону сторінки ( «білий»), записуючи результат у «output.tif». Тепер тільки залишилося перетворити tif назад в pdf, і на цьому можна буде поставити велику і жирну крапку.

7. Повернення до «витоків»

П оскольку все вже придумано до нас, розумні голови на планеті «настругали» чимало програм і утиліт по перетворенню зображень в pdf-формат. Особисто я перепробував вже зовсім точно з десяток різних «рукоділля» плюс онлайн-сервіси. Але для даного завдання я використовував утиліту «Tiff2Pdf» і бібліотеку «BitMiracle.LibTiff.NET.dll» з пакету « LibTiff.Net », Скачавши архів по засланні . З її використанням «брюки перетворюються на елегантні шорти легким рухом руки»:

Tiff2Pdf -z -o output.pdf input.tif

8. PDF всіх країн, єднайтеся!

П рограмма для «склеювання» pdf-файлів також наваяли по «саме не хочу». Але мені завжди було цікаво знати, нафіга потрібна купа програм, якщо існує вже згаданий чудовий інструментарій « pdftk ». Так, для об'єднання цілої компанії pdf-файлів в папці «pdfs» в один загальний файл «pdf_out.pdf» досить в командному рядку набрати всього лише

pdftk pdfs \ *. pdf cat output pdf_out.pdf

І все!

Післямова

Е слі хто не заснув, діставшись до цих рядків, то, сподіваюся, він зміг отримати загальне уявлення про алгоритм видалення водяних знаків з pdf-файлу.

До речі, до цих пір деякі товариші, отримуючи урядову нагороду, завершують свій виступ словами: «Але це не тільки моя заслуга, а заслуга всього нашого колективу! ». Описавши практично всі утиліти, які були використані при вирішенні даного завдання, не можу не згадати ту, без якої я нічого не зміг би зробити: потоковий текстовий редактор sed. Маленький і скромний трудівник тилу, що плекає перемогу над текстовими полчищами - ось яке б я дав визначення цієї незамінної в моїй роботі утиліту. Слава sed-у, натхненнику і організатору наших звершень!

Коди для допитливих

Я розумію, що пристрасть до колупання в нутрощах іграшок, як у моїх онуків, з роками проходить. Однак для тих аспірантів технічних спеціальностей (про медиків промовчу), хто зумів зберегти цю свою дитячу безпосередність, пропоную глянути на нутрощі даного серемяжного «watermark-термінатора». ось - посилання на сторінку з кодами всіх bat-файлів. При їх написанні я намагався по максимуму закомментировать (@rem) свої дії для юних аспірантів. Але, швидше за все, щось обов'язково пропущено. «Ну, звиняй, Микола! Бананів у Мені для тебе нема ».

Інструкція

Н у!?! Таки да, кілька тривала преамбула закінчена! «Гоп-стоп, Ми підійшли з-за рогу».

Т ак ось, якщо ви просите завантажити цей самодел, то він є у мене. тут - архівний файл «portable_wm-remove.zip» (на хвилиночку 24 894 285 байт). Той, хто не довіряє мені, але чомусь довіряє Яндекс.Діск, може качнути все це « студова », Маючи на руках гарантію, шо вірусів нема. Між іншим, цей «термінатор» водяного знака перевірений на чужих машинах з Windows XP, 7-ий і 8-ої версій: все працює.

по стопах

  1. Завантажуєте архів і розвертаєте його в яку-небудь папку у себе на комп'ютері.
  2. Закидаєте в цю папку pdf-файл, з якого ви хочете спробувати видалити неподобство у вигляді сірого водяного знака.
  3. Перейменовуєте цей файл як «pdf_in.pdf».
  4. Тюка по батники «_clean.bat», очищаючи папки від можливо залишилися попередніх результатів.
  5. Тюка по батники «1_remove-wm.bat», запускаючи процес «знищення» водяного знака.
  6. Чи не лякати мигтючим вікнам Ghostscript: то pdf-файли перетворюються в зображення формату tif.
  7. На що відкрилася в IrfanView зображенні візуально вибираємо фрагмент тільки водяного знака, не "чіпляючи» текст. Натискаючи ліву кнопку миші за допомогою хрестоподібного курсору виділяємо потрібну, невелику область зображення. Потім кнопку можна відпустити, давши мишці ковтнути повітря.
  8. Натискаємо чарівні клавіші «Ctrl-C» і закриваємо IrfanView.
  9. Все інше дороблять саме. Через деякий час в цій папці з'явиться файл без водяного знака - «pdf_out.pdf».

Ч об підтвердити, що все це працює, пропоную глянути на чотири приклади різних pdf-файлів «ДО» перетворення і «ПІСЛЯ». В останньому прикладі вихідний файл мав захист у вигляді обмежень на модифікацію файлу.

  • Приклад 1: до (914167 байт) і після (4361662 байт)
  • Приклад 2: до (582224 байт) і після (667697 байт)
  • Приклад 3: до (885216 байт) і після (1247156 байт)
  • Приклад 4: до (264075 байт) і після (1049835 байт)

У шлий і спритне аспірант звичайно ж виявить, що в третьому прикладі мають місце артефакти неудалённого водяного знака на зображеннях з сіркою заливкою. Так воно і є, оскільки колірний код «watermark» змінився при накладенні двох сірих кольорів один на одного. Нічого, і на сонці, як кажуть, є якісь там «плями». Що ж стосується збільшення розміру перетворених файлів, то і це не біда. Гігабайт туди, гігабайт сюди ...

П про невідому мені причини деякі з «зразкових» перетворених pdf-файлів (ну, типу перший і третій) не відчиняються нормально у мене під час перегляду в «Firefox». Ну, і фіглі? Буває. Завантажуємо і переглядаємо у себе на комп'ютері стандартними засобами перегляду pdf-файлів.

Посилання на старі прийоми

М еня можуть запитати: «А чому Виверт № 8? ». Та тому що до цього було ще сім.

Н а цьому - все! Пишіть діссер собі і посилки мені!І «чо» робити?
А вам шашечки потрібні, або їхати?
Ви ж спеціально Не переодягайтесь до вечері?
Ну, і фіглі?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью