Есть ли лучший способ отредактировать PDF?


25

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

Быстрый поиск в Google не дал никаких инструментов для этой конкретной цели, поэтому я вернулся к imagemagick & gimp:

  • convert document.pdf document.png
  • gimp document-0.png
  • (используйте кисть для затемнения текста)
  • распечатать отредактированную страницу из gimp
  • распечатать остальные страницы из xpdf

Проблема этой стратегии заключается в том, что процесс преобразования (из PDF в PNG или любой другой формат) теряет качество. Я пытался редактировать PDF в GIMP, но это не сработало сразу.

Есть ли специальный инструмент, который разрешает редактирование таким образом? (Это даже не должно быть «реальным» редактированием - я не отправляю электронную копию, так что «поддельное» редактирование будет работать, потому что компьютерная копия не может быть взломана для раскрытия основного текста.)

Или есть ли у вас возможность редактировать PDF-файлы в GIMP?


2
PDF - масштабируемый, PNG - растровая графика, поэтому, вероятно, в процессе конвертации происходит потеря качества. Вместо этого преобразуйте в масштабируемый формат, такой как SVG.
Аноним

@ Аноним: Хорошая идея, но не пригодная для использования. Результирующий файл SVG является массивным; Мне пришлось убить зрителя через 30 минут и около одного гигабайта памяти.
bstpierre

Ответы:


16

(изначально я рекомендовал Okular, но он не сработал, как я ожидал)

1. Отредактируйте документ в векторном редакторе.

Мне удалось открыть PDF-файл в Inkscape , нарисовать прямоугольник над куском текста и распечатать его. Inkscape - векторный редактор, поэтому растеризация не требуется. Однако некоторые шрифты выглядели неправильно - возможно, потому, что документ был создан на компьютере Windows с теми шрифтами, которые отсутствуют на моем.

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

2. Увеличьте разрешение растеризации при открытии в редакторе растровых изображений.

Что касается «потери качества» при открытии страницы в Gimp : вы можете напрямую открыть файл PDF в Gimp. Это будет растеризовано в процессе. Величина потери качества в процессе зависит от разрешения, которое вы выбираете при импорте - разрешение 300 т / д должно обеспечить очень приличное качество (по умолчанию 100).

Вы также можете получить хорошие результаты с помощью convertкоманды ImageMagick, если скажете увеличить разрешение:

convert -density 300x300 ...

1
+1 и принято! Спасибо за предложение inkscape, он проделал разумную работу (не идеально - он потерял пару (неважно для меня) графических объектов) - но очень разумно). И совет convertбыл хорош: заклинание, которое я использовал, было convert -density 300x300без потери качества.
bstpierre

+1 за упоминание о том, что GIMP может хорошо обрабатывать pdf
don.joey

8
Предупреждение общего населения: методы Redaction здесь , которые включают подпорные текст предлагаемых здесь (например , все те , которые избегают растеризации) являются не безопасными. Текст по-прежнему может быть выбран из-под затемнения или прочитать из источника файла. См., Например, freerepublic.com/focus/f-news/2706743/posts and hackaday.com/2008/08/01/exposing-poorly-redacted-pdfs
naught101

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

5
@JesseGlick: вместо того, чтобы «наказать» меня за то, что я не рассмотрел вариант использования, даже не упомянутый в исходном вопросе, вы могли бы просто отредактировать ответ. Это было бы более выгодно для будущих посетителей.
Сергей

10

По сути, вы пытаетесь выделить / аннотировать PDF, но с некоторой гибкостью в отношении непрозрачности и цвета маркера (вы упомянули, что вам не нужно подвергать цензуре / удалять что-либо, просто редактировать). Вы посмотрели здесь ответы: Как я могу выделить или аннотировать PDF-файлы?

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

В Xournal вы можете выбрать «Аннотировать PDF», затем использовать сплошной черный маркер для маскировки частей, которые вы хотите отредактировать, и «Экспорт в PDF».

В Интернете есть несколько историй о том, что Xournal растеризует текст в экспортированном PDF-файле (спасибо за указание на это, MHC). Это не похоже на правду: с простыми аннотациями текст остается доступным для выбора и поиска, а размер файла не увеличивается значительно (он увеличился с 205 до 220 кб в приведенном ниже примере).

Для установки запустите в терминале: sudo apt-get install xournalили просто выберите его в Центре программного обеспечения

Xournal интерфейс Результирующий экспортированный PDF


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

1
Спасибо за отзыв, @MHC. Xournal не растеризует, см. Пересмотренный ответ для получения дополнительной информации.
Томас

3
Я просто попробовал это для себя, и вы абсолютно правы. Извините за путаницу. Прошло много времени с тех пор, как я использовал Xournal, и почему-то у меня сложилось впечатление, что экспортированные документы не были настоящими PDF-файлами. Спасибо за то, что установили это прямо!
Glutanimate

1
Это хорошо работает, но я не смог найти чистый способ отредактировать информацию. Мне пришлось использовать инструмент рисования, чтобы писать, что выглядит очень грязно и не хватает профессионализма, который я хотел бы. В противном случае следите за тем, чтобы экспорт растеризовал содержимое, чтобы его нельзя было выбрать и обнаружить.
flickerfly

Для реального редактирования, которое заменяет текстовые данные изображениями, объедините этот ответ с @ balu, который использует команду ImageMajick convert.
Колан

6

Вы можете использовать Okular.

sudo apt-get install okular
  1. Откройте PDF с помощью Okular.
  2. Нажмите F6.
  3. Нажмите 8.
  4. Выделите текст, который вы хотите редактировать.
  5. Щелкните правой кнопкой мыши текст, выберите свойства, выберите «Тип» как «Выделить», нажмите Ok.
  6. Распечатать файл в формате PDF.

4
Возможно упомянуть, как сделать подсветку черной.
Equaeghe

1
Okular может редактировать любым цветом (черным) эти функции: выделение текста, линии свободной руки и полигональные ссылки с внутренней заливкой. Вы можете сохранить настройки как свой собственный инструмент для комментариев. Легко использовать его снова и снова. Затем, когда вы распечатываете файл в формате pdf, вы должны «принудительно растеризовать», чтобы убедиться, что редактирование не обратимо. Okular Версия 1.1.3
shadowbq

По умолчанию он черный, работает с последней версией Okular. Спасибо!
TheFrack

5

Я редактирую много файлов PDF каждый день, поэтому я трачу много времени на размышления о том, как сделать это наилучшим образом.

Для меня лучший способ - это разделить PDF на 1-страничный PDF-файл, затем редактировать с помощью GIMP, а затем объединить его. Я не использую imagemagick для всех файлов (я вообще не использую), поэтому я не теряю текстовый слой на всех страницах, а только на отредактированных. Не загружайте весь файл PDF сразу, потому что это приводит к исчерпанию памяти.

Сплит PDF в одностраничных файлах

Вы можете легко разделить PDF-файлы на 1-страничный PDF-файл с помощью этой функции bash (поместите ее в ~ / .bashrc):

function pdf_split(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
    done;
};

Теперь вы можете войти, split_pdf file.pdfчтобы получить много файлов PDF.

Редактировать файлы

Но теперь вам нужно отредактировать все эти файлы. Вы можете сделать это с gimp original-filename-*.pdf. Я предлагаю настроить ярлык в GIMP (Главное окно-> Редактировать-> Ярлык), чтобы заменить файл (я использую CTRL + R), фильтр размытия (например, CTRL + D), закрыть файл (например, CTRL + W) и выйти из GIMP ( eg.CTRL + Q). Не забудьте не загружать в GIMP много файлов одновременно, а GIMP, как вы загружаете после открытия, так что вы можете безопасно использовать gimp original-filename-*.pdfтысячи файлов.

Объединить файлы

Вы можете легко комбинировать файлы с: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";

Соедините все это вместе

Эти операции очень повторяющиеся и скучные, поэтому я соединяю все это в один скрипт:

function pdf_redact(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
        gimp "${Outfile[@]}";
        pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
        rm "${Outfile[@]}";

    read -p "Do you want open output file? " -n 1 -r
    echo    
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            evince "$filename-anon.pdf";
    fi

    read -p "Do you want upload output file to Scribd.com? " -n 1 -r
    echo 
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
        scribd_up "$filename-anon.pdf";
    fi
    done;
};

Новейшая версия этого скрипта всегда доступна по адресу: http://dostep.jawne.info.pl/it/bashrc

Не забудьте закрыть GIMP (CTRL + Q) после всего редактирования, чтобы продолжить скрипт.

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


2

Откройте PDF с помощью бесплатного инструмента PDF-Xchange PDF Viewer . Вычеркните текст, который нужно отредактировать, используя черные прямоугольники. Распечатать. Это даст вам легкую, качественную «фальшивую» редакцию.


Это похоже на инструмент win32. Дайте мне знать, если я пропустил ссылку на порт Linux ...
bstpierre

3
Бесплатный портативный просмотрщик PDF-Xchange будет работать с вином.
Сабакон

Спасибо, это отлично сработало для меня с вином. Решения inkscape и gimp действительно полезны только для редактирования одной страницы.
Героид Мерфи

2

Используйте LibreOffice Draw для того быстрого редактирования, которое вы ищете. После этого вы можете сохранить его в формате LibreOffice Draw или снова экспортировать в формат PDF ( File> Export as PDF).

введите описание изображения здесь

Чтобы иметь возможность импортировать PDF-файлы в LibreOffice Draw, вы должны сначала установить пакет libreoffice-pdfimport.

Установите его через Центр программного обеспечения Ubuntu ( libreoffice-pdfimport Установить libreoffice-pdfimport ) или через терминал с sudo apt-get install libreoffice-pdfimport.


2

Вы также можете попробовать этот инструмент: https://launchpad.net/updf

Вот оно (но в любом случае, текст можно выбрать):

введите описание изображения здесь


1
uPDF великолепен тем, что сохраняет оригинальный PDF-файл, его текстовый и SVG-контент. Однако, похоже, есть некоторые проблемы с уровнями сжатия. Отредактированные файлы PDF примерно в 3-4 раза больше оригинала. Спасибо за публикацию этого, хотя. Я не знал о uPDF.
Glutanimate

Да, я знаю, что у него есть некоторые проблемы, это немного грубо. Надеюсь, более новые выпуски исправят эти проблемы ... :)
franzlorenzon

Как уже упоминалось, в uPDF есть много ошибок (и даже не отменить / повторить), но в моем случае все прошло хорошо, так что спасибо!
Балу

2

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

gimp the_file.pdf

После того, как вы закончили редактирование, мы не сохранили изменения, вместо этого мы печатаем их в pdf-файл ... Казалось, все работает нормально.


По какой-то причине gimp отказывается разрешить мне вносить какие-либо изменения в файл. Мне пришлось convertсначала конвертировать с помощью imagemagick , а затем редактировать преобразованный файл. (См. Принятый ответ.)
bstpierre

хорошо, решение Inkscape является действительным. Но я повторяю вам, Gimp может редактировать PDF-файлы напрямую. = D
maniat1k

Кажется, что GIMP работает с большинством PDF-файлов, но файл, который я использовал вчера вечером, работал неправильно. Inkscape обработал этот файл правильно.
bstpierre

2

PDF Studio не является открытым исходным кодом и является программным обеспечением, которое требует покупки.

С точки зрения этого вопроса, начиная с версии 8 он имеет функцию ручного редактирования. Пользователи могут выбрать текстовый объект и отредактировать его. Содержимое удаляется из PDF и заменяется черным прямоугольником.

В версии 9, которая выйдет в третьем квартале 2013 года, аннотации и запись редактирования также будут доступны для изображений и фигур.


4
Согласно часто задаваемым вопросам , вы должны раскрывать свою принадлежность к продукту, который вы рекламируете.
Bstpierre

Несмотря на то, что это скорее рекламная реклама, чем ответ, я должен сказать, что PDFstudio действительно является отличным программным обеспечением. Это может быть немного переоценено, но это, безусловно, лучший набор для редактирования PDF для Linux. Обязательно попробуйте их пробную версию .
Glutanimate

2

Если вы не хотите помнить правильное заклинание, convertвы можете использовать pdf-redact-tools , сценарий оболочки, автоматизирующий процесс разбиения PDF на изображения в формате PNG и объединения их вместе после редактирования (используя инструмент по вашему выбору, например, gimp ). Это удобно для установки .


+1 Это произведение Мики Ли и других из First Look Media (издателя The Intercept). Его справочная страница находится здесь (например), и некоторая справочная информация со времени ее выпуска в 2015 году доступна здесь .
каркай

2

Поскольку многие решения здесь рекомендуют редактировать / затемнять аннотации (которые оставляют исходный контент в pdf), я рекомендую растеризацию pdf впоследствии, чтобы действительно удалить исходный контент. (Не будь этим парнем .)

Вот один из способов сделать это, одновременно поддерживая качество и размер файла низкими (по крайней мере, в моем случае с кучей черно-белых страниц):

$  convert -quality 100 -density 180 -compress zip notreallyredacted.pdf trulyredacted.pdf

Примечание: convertнужен ImageMagick.

Примечание 2: convertне сохраняет содержимое заполненных вами форм. Чтобы он не потерялся, вы можете evinceсначала напечатать документ «в файл» примерно так (или в любом приложении, в котором вы заполнили форму), а затем растеризовать его.


Просто добавил исправление разрешений. Этот ответ должен сочетаться с Xournal.
Колан

1

Лучший способ сделать это - использовать http://www.pdfescape.com . Вы можете комментировать, добавлять текст и изображения, рисовать «белый» прямоугольник вокруг того, что вы хотите отредактировать, и вы можете быстро загрузить и сохранить его. Он также очень хорошо работает с многостраничными документами, с чем не справляются многие другие решения. Например, если вы откроете многостраничный документ в Gimp или Inkscape, вы сможете открыть только одну страницу за раз. Процесс намного быстрее в PDFescape. Весь процесс редактирования 2-страничного документа занимает меньше минуты.


1
На самом деле не стирает данные, которые вы закрасили. (Я все еще могу искать его, и он будет «выделен» ниже).
Фрэнк Нок

0

Существует несколько редакторов для непосредственного редактирования документов PDF, например pdfedit, или конвертирования их в другие векторные форматы, которые могут быть лучше поддержаны, такие какpstoedit . Однако я не рекомендовал бы использовать любой из них, так как риск сделать что-то глупое, например, просто закрасить текст черным, оставив векторы на месте, очень просто, что делает редактирование тривиальным для отмены.

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

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


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

0

Добавляю в список: Крита . Не было потери качества, потому что при импорте PDF вы можете определить dpi (установите значение 300, как сказал @Sergey). После редактирования нажмите «Экспорт в PDF». Наконец, я нахожу Krita более интуитивным, чем Gimp, после того, как долгое время пользовался Photoshop.


-1

Если вы используете LibreOffice для создания PDF-файла, откройте документ в LibreOffice, выделите текст, который нужно отредактировать, щелкните правой кнопкой мыши и выберите символ, выберите «Фон» и нажмите черный. Экспорт в PDF.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.