Как удалить водяной знак из файла PDF?

41

Я думал, что это будет простая задача, но все оказалось наоборот.

Водяной знак - это одно и то же (накладывающееся, но прозрачное) изображение на каждой странице. Я сам создал файл PDF (поэтому здесь нет проблем с авторскими правами), используя PDFCreator 0.9.8.

Я уже пробовал Adobe Acrobat Pro моего друга, но он не работал. Он пытается удалить его, но не может. Я пытался удалить колонтитулы и т. Д., Но водяной знак просто не исчезнет.

Как я могу удалить водяной знак?

апаш
источник
2
PDF - это формат вывода, похожий на электронную печатную страницу. Он не предназначен для редактирования, и в большинстве случаев вы не сможете сделать то, о чем просите, за исключением экспорта страниц в изображения и фотосъемки водяных знаков.
mk12
Торговые рекомендации не по теме для всех сайтов обмена стека. Чтобы этот вопрос не закрылся, я бы порекомендовал заменить его на вопрос «как», а не на какой
канадский Люк REINSTATE MONICA
3
Кажется, вы просто используете PDFCreator 0.9.8 и устанавливаете опцию, чтобы водяной знак НЕ добавлялся на каждую страницу. Я предполагаю, что этот вопрос, потому что у вас нет оригинального источника.
Ramhound

Ответы:

73

Для водяных знаков на основе изображений есть несколько инструментов, которые обещают их автоматическое удаление. Например:

Все это можно попробовать бесплатно, но для получения желаемого результата требуется лицензия.

Тем не менее, водяной знак этого конкретного файла PDF (который ОП прислал мне по электронной почте) - это не одно изображение, которое повторяется на всех страницах. Как оказалось, PDFCreator жестко закодировал его (почти пиксель за пикселем) в каждый из них. Это значительно затрудняет удаление водяного знака (и приводит к довольно раздутому файлу PDF).

Поскольку водяной знак на самом деле состоит из множества крошечных изображений, вы можете удалить их с помощью редактора PDF (например, Foxit Advanced PDF Editor ), просто выбрав их и нажав Delete. К сожалению, вы должны повторить это для каждой страницы.

Менее трудоемким решением было бы удаление водяного знака программным способом. Нам нужно:

меры

  1. Загрузите Pdftk и извлеките pdftk.exe и libiconv2.dll в % windir% \ System32 , каталог по пути или в любое другое место по вашему выбору.

  2. Загрузите и установите Блокнот ++.

  3. Потоки PDF обычно сжимаются с использованием алгоритма DEFLATE . Это экономит место, но делает источник PDF неразборчивым.

    Команда

    pdftk original.pdf output uncompressed.pdf uncompress
    

    распаковывает все потоки, поэтому они могут быть изменены текстовым редактором.

  4. Откройте uncompressed.pdf с помощью Notepad ++, чтобы раскрыть структуру водяного знака.

    В этом конкретном случае каждая страница начинается с блока

    q 9 0 0 9 2997 4118.67 cm
    BI
    /CS/RGB
    /W 1
    /H 1
    /BPC 8
    ID Ÿ®¼
    EI Q
    

    и почти 4000 блоков, как этот. Этот конкретный блок устанавливает только один ( /W 1 /H 1) пикселей водяного знака.

    Прокрутка вниз до изменения шаблона показывает, что поток водяного знака имеет длину 95 906 байт (считая новые строки). Точно такой же поток повторяется на каждой странице файла PDF.

  5. Нажмите Ctrl+ Hи установите следующее:

    Find:               q 9 0 0 9 2997 4118\.67 cm.{95881}
    Replace:            (blank)
    Match case:         checked
    Wrap around:        checked
    Regular expression: selected
    . matches newline:  checked
    

    Регулярное выражение q 9 0 0 9 2997 4118\.67 cm.{95881}соответствует первой строке указанного выше блока ( q 9 0 0 9 2997 4118.67 cm) и всем следующим 95 881 символам, т. Е. Потоку водяного знака.

    Нажатие « Заменить все» удаляет его со всех страниц файла PDF.

  6. Водяной знак теперь удален, но в файле PDF есть ошибки (длина потоков неверна), и он не сжат.

    Команда

    pdftk uncompressed.pdf output nowatermark.pdf compress
    

    заботится о обоих.

  7. uncompressed.pdf больше не нужен. Вы можете удалить его.

В результате получается тот же PDF-файл без водяного знака (и примерно вдвое меньше).

Деннис
источник
4
Еще один трюк, который я нашел полезным: мне было сложно определить блок, соответствующий водяному знаку, в моем PDF. Поэтому я просто извлек одну страницу из PDF, в идеале - страницу, на которой есть только водяной знак и ничего больше. На этой одной странице вам будет проще определить блок, соответствующий водяному знаку. Затем вернитесь и сделайте это для оригинального PDF.
Кенни ЖЖ
1
Вау, это первое место в интернете, где я нашел хороший способ справиться с этим. Любые места, которые вы рекомендуете прочитать в формате контейнера?
ConstantineK
2
@hobs IIRC, я читаю части официальной ссылки в формате PDF, чтобы написать этот ответ.
Деннис
1
Спасибо @Dennis, я уже дал вам голосование, но это, кажется, лучший канонический источник. Я смог получить то, что мне нужно было сделать, просто найдя / заменив несколько дополнительных проб и ошибок. ОГРОМНАЯ ПОМОЩЬ!
ConstantineK
7
Вместо этого pdftkвы также qpdf можете распаковать и сжать PDF-файлы. Команды: qpdf --stream-data=uncompress original.pdf uncompressed.pdfиqpdf --stream-data=compress uncompressed.pdf nowatermark.pdf
Дэвид Шулер
6

Похоже, водяной знак на самом деле является частью изображений в .PDF, а не отдельным изображением, отображаемым поверх него тем, что вы используете для отображения .PDF. Возможно, вам не удастся удалить водяной знак без извлечения изображений из .PDF, запуска их через редактор изображений и последующей реконструкции .PDF вручную.

LawrenceC
источник
4

Для текстовых водяных знаков редактирование версии PostScript может быть намного проще: после

$ pdftops document.pdf

отредактируйте document.ps, затем преобразуйте обратно в PDF через

$ ps2pdf document.ps

Хайнер
источник
На Linux остерегайтесь, что pdftopsи pdf2psразные. Используйте первую команду, а не вторую.
Камиль Гудесюн
1
Если вы знаете, что такое текст водяного знака, вот одна строка. pdftops in.pdf - | sed 's/WATERMARK//' | ps2pdf - out.pdf
Камиль Гудесюн
1

Артефакты штампа заключаются в том, что вы можете удалить его в Adobe Acrobat Pro, однако он восстанавливается при перемещении мыши, поскольку объект потока сохраняет его постоянным.

Если вы попытаетесь отредактировать исходный pdf-файл - это сложно, есть вероятность, что файл будет поврежден.

Если штамп является потоком, мы можем прервать его, отключив компьютер от сети, что я и сделал.

Затем, используя Adobe Acrobat Pro, я выбрал одну из своих аннотаций, щелкнул правой кнопкой мыши, чтобы открыть всплывающее окно, и выбрал «Показать список комментариев».

Выберите гнусный водяной знак / штамп из списка, щелкните правой кнопкой мыши, чтобы открыть всплывающее окно, и выберите «Удалить». Делайте это на каждой странице, где происходит прикрепление.

Сохраните файл под другим именем. Мое приложение зависло, но не перед сохранением файла!

Откройте новый и гораздо меньший файл; обратите внимание, что все водяные знаки / марки гонзо.

В моем случае размер файла моего 3-страничного документа сократился с 300 КБ до внушительных 60 КБ. Все исходные данные и аннотации остались без изменений - без водяных знаков.

~ Удачной охоты: о)

Алан Хорд
источник
1

преобразовать документ в файл .rtf, используя zamzar. Водяной знак исчезает автоматически после преобразования. Обратите внимание: - Он отлично работает, если документ содержит текстовые материалы. Это всегда было очень полезно .. (пользователь Mac)

Шифа
источник
Это не работает для PDF, который я пробовал.
Кенни ЖЖ
1

Нашел другой способ сделать это:

  1. Используйте инструмент pdf2htmlEX (или любой другой конвертер PDF в HTML), чтобы конвертировать PDF в файл HTML.
  2. Отредактируйте HTML с помощью текстового редактора и удалите водяной знак. Сохрани это.
  3. Печать в HTML в новый документ PDF
  4. прибыль
Доминик Антал
источник
Спасибо. Вы уверены, что не можете удалить водяной знак с помощью Adobe Acrobat таким образом? (Это может быть действительно более дешевое решение.)
Apache
Я считаю, что вам нужен какой-то пароль для удаления водяного знака в Adobe Reader, поэтому я использовал этот метод.
Доминик Антал
0

Это дополнение к ответу @Dennis от 18:06 30 июля 2012 года. Он, безусловно, решает более сложный вопрос.

В простейшем случае, когда водяной знак представляет собой простой, неукрашенный текст, например

Смедли для комиссара

несжатые водяные знаки PDF могут быть определены следующим образом:

    BT
    75.96 625 Td
    (Smedley For Commissioner)Tj
    ET

где 75.96- горизонтальное смещение и 625вертикальное смещение для данного конкретного экземпляра водяного знака. (Да, можно увидеть как действительные числа, так и целые числа.)

Регулярное выражение, подобное следующему, будет работать для всех таких водяных знаков, игнорируя любые изменения в их размещении:

^BT\n[0-9.]+ [0-9.]+ Td\n\(Smedley For Commissioner\)Tj\nET\n

Имейте в виду, что различные модифицирующие операторы PDF могут вступать в игру с водяными знаками, которые имеют более сложное форматирование. Такая причудливость может превратить то, что читатель ожидает (надеется?), В непрерывную, легко ищемую строку в беспорядок супа из алфавита. Например,

E 1 = mc² от Smedley ™

Может быть продуктом этого:

    BT
    75.96 625 Td
    (E)Tj
    -5 Ts
    (1)Tj
    0 Ts
    ( = mc)Tj
    5 Ts
    (2)Tj
    0 Ts
    (by Smedley)Tj
    5 Ts
    (TM)Tj
    0 Ts
    ET

, , , или намного хуже, если ваш водяной знак улучшен по цвету!

Отметив все это, я также отмечу, что PDFtk имеет версию с графическим интерфейсом, предназначенную для обработки водяных знаков, с учетом лицензионного сбора в 4 доллара. Не дорогой вообще!

С другой стороны, я считаю, что его веб-сайт в настоящее время рекламирует полную поддержку O / S через Windows 8и OS X 10.8 Mountain Lion. Это винтаж более 4 лет назад. Может ли PDFtk устареть? Я подозреваю, что нет, но я не знаю.

Der Schley
источник
Спасибо за рекомендацию PDFtk, выглядит аккуратно, но да, "пахнет" немного устаревшим. Бесплатная версия 2.02, и Википедия говорит, что она действительно была выпущена 3 года назад: en.wikipedia.org/wiki/PDFtk
Apache
1
@Shiki - на самом деле я провел серьезное исследование форматов PDF, но отменил свою детальную оценку прогресса PDF за последние 10 лет. Вот резюме: «Недостатки 3- летнего релиза PDFtk в свете разработки спецификаций PDF». Несмотря на то, что с 2005 года было несколько обновлений, _you будет в порядке с _PDFtk_ по всей вероятности. Я говорю это после проверки некоторых общедоступных, современных PDF-источников документации. Все документы в формате PDF, которые я проверял, были созданы в соответствии со стандартами PDF до 2010 года (на самом деле задолго до этого ). Если у вас есть какие-либо сомнения, проверьте несколько десятков байтов рассматриваемого файла PDF.
Der Schley
0

Вот бесплатные и платные способы сделать это, я предлагаю вам использовать Google Drive.

Google Drive имеет возможность открывать файлы и выполнять незначительные изменения. Кроме того, он может быть использован для удаления водяных знаков из PDF онлайн.

  1. Откройте учетную запись Google Диска, которая в основном совпадает с учетной записью Gmail.
  2. Нажмите «Создать»> «Загрузка файла», выберите документ PDF и затем загрузите его.
  3. После этого вы можете проверить загруженный файл на вашем диске, а затем щелкнуть правой кнопкой мыши, чтобы открыть его с помощью «Документов Google».
  4. После этого ваш водяной знак будет удален автоматически. Чтобы сохранить его, перейдите в «Файл» и нажмите «Скачать как», а затем выберите «PDF документ».
Crystal Wang
источник