Есть ли лучший способ изменить PDF?

17

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

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

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

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

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

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

    
задан bstpierre 27.10.2011 в 21:04
источник

15 ответов

13

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

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

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

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

2. Увеличьте разрешение растрирования при открытии в растровом редакторе

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

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

convert -density 300x300 ...
    
ответ дан Sergey 27.10.2011 в 23:40
источник
8

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

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

С помощью Xournal вы выберете "Аннотировать PDF", затем используйте сплошной черный маркер для маскировки частей, которые вы хотите отредактировать, и "Экспорт в PDF".

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

Чтобы установить, запустите в терминале: sudo apt-get install xournal или просто выберите его из Software Center

    
ответ дан Tomas 20.04.2013 в 04:29
5

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

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

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

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

function pdf_split(){
    for file in "[email protected]"; 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 (главное окно - > Редактировать > Shortcut), чтобы заменить файл (я использую CTRL + R), фильтр размытия (например, CTRL + D), закрыть файл (например, CTRL + W) и выйти GIMP (например, CTRL + Q). Не забудьте не загружать в GIMP ко многим файлам одновременно, но GIMP, как вы о загрузке после открытия, так что вы можете использовать gimp original-filename-*.pdf на тысячах файлов в безопасности.

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

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

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

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

function pdf_redact(){
    for file in "[email protected]"; 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;
};

Самая новая версия этого скрипта всегда доступна по адресу: Ссылка

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

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

    
ответ дан Adam Dobrawy 02.08.2014 в 17:26
3

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

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

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

    
ответ дан MetaEd 27.10.2011 в 21:20
2

Вы также можете попробовать этот инструмент: Ссылка

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

    
ответ дан franzlorenzon 11.03.2013 в 10:07
2

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

gimp the_file.pdf

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

    
ответ дан maniat1k 28.10.2011 в 00:31
2

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

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

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

    
ответ дан Lilou 20.04.2013 в 04:08
1

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

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

УстановитеегочерезпрограммныйцентрUbuntu( libreoffice-pdfimport ) или через терминал с sudo apt-get install libreoffice-pdfimport .

    
ответ дан Bruno Pereira 27.10.2011 в 22:20
1

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

    
ответ дан user184478 17.02.2014 в 21:51
1

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

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

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

Примечание: convert требуется ImageMagick.

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

    
ответ дан balu 28.01.2016 в 08:57
1

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

    
ответ дан kynan 13.02.2016 в 22:47
0

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

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

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

    
ответ дан Grumbel 27.10.2011 в 23:10
0

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

    
ответ дан jmjr 24.11.2016 в 22:26
-1

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

    
ответ дан Dave 28.05.2014 в 20:23