Копировать текстовый слой pdf в другой pdf

Предположим, у вас есть 2 "отсканированных" pdf-файлов.

  1. большой, но без текстового слоя.
  2. меньше (с более низким качеством изображения), но с правильным текстовым слоем.

оба файла содержат равной изображения, отличающиеся только сжатием.

цель состоит в том, чтобы вставлять тот же текстовый слой в 1-й pdf.

"Just OCR 1st file" не является решением. Я знаю, что Acrobat (и некоторые другие инструменты) способны OCR без изменения слоя изображения,но я не доволен их качеством распознавания.

Итак, я вижу два возможных пути:

  1. экспорт-импорт текстового слоя как-то
  2. заменить каким-то образом в слое.

Что касается 1-го пути, я ничего не нашел.
Что касается 2-го пути, то я нашел два инструмента, которые довольно близки hocr2pdf и pdf2text, но их все равно недостаточно, насколько я понял. : (

PS: пример использования:

Я только что нашел еще один пример, где такая операция полезна систематически.

Если у вас есть отсканированный pdf-1 (без текстового слоя) с, скажем, сжатием изображения "jpg", Abbyy finereader дает вам OCR'D pdf, pdf-2. Он будет либо довольно большим, если вы выберете сжатие без потерь, либо качество изображения будет значительно ниже, чем pdf-1. Во многих случаях лучшим выбором является сохранение исходного изображения сжатие как есть и не сжимайте изображение повторно.

10
задан Community
02.03.2023 14:30 Количество просмотров материала 2874
Распечатать страницу

2 ответа

ответ на stackoverflow есть решение. Вы можете извлечь текст с координатами из pdf-2, используя pdftotext -bbox или пакет Python PDFMiner, затем запишите этот скрытый текст в новый PDF-файл с помощью пакета Python ReportLab, затем объединить этот скрытый текст PDF с pdf-1 с помощью PDFtk (есть GUI для Windows на сайте; командной строки для Unix называется теперь сервер PDFtk.)

или, вы могли бы попробовать прямое слияние pdf-1 и pdf-2 с помощью PDFtk. Беги pdftk pdf-2 multistamp pdf-1 output out.pdf. Это поставит каждую страницу pdf-1 перед соответствующей страницей pdf-2, поэтому вы увидите только изображения из pdf-1 (при условии, что они являются сканированиями и не имеют прозрачного фона), но будет включен скрытый текст из pdf-2. Недостатком является то, что это может быть очень большим, так как он будет включать в себя две копии каждой страницы изображения. Я проверил, что это работает, и размер выходного pdf является суммой размеров входной.

2
отвечен Kundor 2023-03-03 22:18

Если это единичный случай, когда вы должны сделать это, LibreOffice + GIMP должны сделать эту работу. Во-первых, используйте LibreOffice Draw для извлечения высококачественных сканирований. Затем отредактируйте их с помощью GIMP, чтобы удалить отсканированный текст. Наконец, добавьте изображение в файл OCRed на нижнем уровне.

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

0
отвечен gronostaj 2023-03-04 00:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх