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

120989
Shiki

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

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

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

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

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

8 ответов на вопрос

73
Dennis

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

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

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

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

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

меры

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

  2. Скачайте и установите Notepad ++.

  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. Replace: (blank) Match case: checked Wrap around: checked Regular expression: selected . matches newline: checked 

    Регулярное выражение q 9 0 0 9 2997 4118\.67 cm.соответствует первой строке указанного выше блока ( 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-файл без водяного знака (и примерно вдвое меньше).

Еще один трюк, который я нашел полезным: мне было сложно определить блок, соответствующий водяному знаку, в моем PDF. Поэтому я просто извлек одну страницу из PDF, в идеале - страницу, на которой есть только водяной знак и ничего больше. На этой одной странице вам будет проще определить блок, соответствующий водяному знаку. Затем вернитесь и сделайте это для оригинального PDF. Kenny LJ 8 лет назад 4
Вау, это первое место в интернете, где я нашел хороший способ справиться с этим. Любые места, которые вы рекомендуете прочитать в формате контейнера? ConstantineK 8 лет назад 1
@hobs IIRC, я читаю части официального [PDF reference] (http://www.adobe.com/devnet/pdf/pdf_reference_archive.html), чтобы написать этот ответ. Dennis 8 лет назад 2
Спасибо @Dennis, я уже дал вам голос, но это, кажется, лучший канонический источник. Я смог получить то, что мне нужно было сделать, просто найдя / заменив несколько дополнительных проб и ошибок. ОГРОМНАЯ ПОМОЩЬ! ConstantineK 8 лет назад 1
Вместо `pdftk` вы также можете использовать` qpdf`, чтобы распаковать и сжать PDF-файлы. Команды: `qpdf --stream-data = uncompress original.pdf uncompressed.pdf` и` qpdf --stream-data = compress uncompressed.pdf nowatermark.pdf` David Schuler 8 лет назад 6
Отличное описание _how_, чтобы решить эту проблему. У меня был похожий водяной знак, который был сделан по-другому, но этот процесс записи позволил пойти за ним. Для меня я смог найти достаточно похожих блоков, чтобы получить приличное регулярное выражение, которое могло бы поймать большинство из них, поскольку они были переменной длины. Byron Wall 7 лет назад 0
Многие продукты прилагают много усилий для встраивания данных водяных знаков в реальную полезную нагрузку, делая все описанные программные продукты и методы бессильными. Есть идеи победить тех? Jari Turkia 5 лет назад 0
@JariTurkia Предполагая, что это закодировано в одном блоке, техника в моем ответе должна работать. В противном случае вам может не повезти. Dennis 5 лет назад 0
@Dennis Я потерпел неудачу с продуктом XMind: Zen. Не стесняйтесь попробовать. Jari Turkia 5 лет назад 0
Для людей, которые придут к этому вопросу в будущем (включая меня): `pdftk`, похоже, завис хотя бы на одном файле PDF; `qpdf` работал без проблем. У `qpdf` есть несколько требований, которые должны быть выполнены на Mac, но могут быть установлены с помощью homebrew. Dan Hicks 5 лет назад 0
6
LawrenceC

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

4
heiner

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

$ pdftops document.pdf

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

$ ps2pdf document.ps

В Linux знайте, что `pdftops` и` pdf2ps` различны. Используйте первую команду, а не вторую. Camille Goudeseune 5 лет назад 0
Если вы знаете, что такое текст водяного знака, вот одна строка. `pdftops in.pdf - | sed 's / WATERMARK //' | ps2pdf - out.pdf` Camille Goudeseune 5 лет назад 1
1
Alan Hord

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

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

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

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

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

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

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

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

Хорошая охота: о)

1
Shifa

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

Это не работает для PDF, который я пробовал. Kenny LJ 8 лет назад 0
1
Dominik Antal

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

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

Это дополнение к ответу @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 устареть? Я подозреваю, что нет, но я не знаю.

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

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

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

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