Вопрос или проблема
Иногда мне нужно экспортировать несколько страниц из большого PDF-файла.
Страницы должны быть “копируемыми”, то есть страницы не должны экспортироваться как изображения.
На моем старом компьютере с Windows 7 PDF на 200 страниц зависает LibreOffice, который я обычно использую для этой задачи.
Я думал, что наконец нашел решение с помощью Foxit Reader… но увидел, что текст вставляется как мусор:
Существует ли приложение для Windows/Linux, которое может экспортировать “текстовый PDF” как “текстовый PDF” (в отсутствие лучшего слова)?
Для справки, я попробовал следующие приложения перед тем, как задать вопрос:
- CutePDF Writer (3.2.0.1) : изображение
- PDFSam Basic: Не могу использовать, например, “1,2,5,102-105”?
- ImageMagic: Экспортирует только как изображения?
- LibreOffice: Зависает при обработке 200-страничного документа
- Acrobat Reader: Не может печатать/экспортировать с собственным драйвером (зависит от установленного CutePDF)
Спасибо.
Редактировать: Я могу искать в оригинальном файле CTRL+F, так что текстовый слой, вероятно, присутствует. Тем не менее, pdftotext
не сработал:
apt-get install poppler-utils
pdftotext -layout -f 102 -l 105 big.pdf subset.pdf
Предупреждение о синтаксисе: Неверная ширина шрифта
Предупреждение о синтаксисе: Неверная ширина шрифта
Затем я скопировал subset.pdf на Windows, открыл в SumatraPDF:
"Ошибка загрузки subset.pdf".
Вы можете использовать технологию LEADTOOLS Recognition SDK в своем приложении.
https://www.leadtools.com/sdk/engine/recognition
Вы можете воспользоваться интерфейсом IOcrEngine, который позволит вам конвертировать изображение в поисковый PDF.
РАСКРЫТИЕ: Я являюсь сотрудником компании, предлагающей этот набор инструментов.
Вот пример кода:
string input = @"C:\LEADTOOLS21\Resources\Images\ocr1.tif";
string output = @"C:\LEADTOOLS21\Resources\Images\ocr1.PDF";
using (IOcrEngine _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
// Запуск движка OCR LEADTOOLS
_ocrEngine.Startup(null, null, null, null);
// Запуск AutoRecognizeManager и указание формата PDF
_ocrEngine.AutoRecognizeManager.Run(inputFile, outputFile, DocumentFormat.Pdf, null, null);
}
Я бы предложил PDFChef. У них есть версия для Windows, онлайн и в App Store.
Для PDF на 200 страниц облачная версия будет непрактична. Поэтому я бы предложил настольную версию. Я использую ее несколько лет, и она меня еще не подводила. Там есть бесплатная пробная версия, так что попробуйте.
Настольное приложение PDF
Просмотр и создание PDF
Редактирование текста
Вставка подписей в PDF-документы
Организация страниц
Несколько форматов для конвертации
Доступ к облачному хранилищу
7-дневная пробная версия с полной функциональностью
Версии для Windows и macOS
За 40 долларов США за бессрочную лицензию (если не обновляться), это доступно. Я ни в какой мере с ними не связан.
Это полноценный редактор, но мое основное применение было похоже на ваше – извлечение нескольких страниц. Дважды я использовал его, чтобы удалить несколько страниц. И один раз я редактировал PDF с его помощью.
Ответ или решение
Экспорт отдельных страниц из PDF в текстовом формате может быть сложной задачей, особенно когда вы сталкиваетесь с проблемами программного обеспечения или недостатком функциональности в разных приложениях. Давайте разберем несколько вариантов, которые помогут вам решить эту задачу.
1. Использование специализированных приложений
PDFChef
Программа PDFChef является отличным выбором для работы с PDF на Windows. Благодаря доступной бесплатной пробной версии вы можете оценить её функциональность перед покупкой. PDFChef позволяет легко извлекать страницы, редактировать текст, а также работать с подписями и конвертировать PDF в различные форматы.
Основные преимущества:
- Широкий набор функций для редактирования PDF файлов.
- Поддержка работы с многими форматами документов.
- Память о последней работе и возможность быстрого доступа к документам.
2. Использование командной строки
Если вы предпочитаете работать через командную строку на Linux, можно использовать утилиту pdftk. Это мощный инструмент для манипуляции PDF файлами, который позволяет выделять конкретные страницы. Команда будет выглядеть следующим образом:
pdftk big.pdf cat 102-105 output subset.pdf
Таким образом, вы получите новый документ, содержащий только нужные вам страницы.
3. Альтернативные инструменты PDF на Windows
Если метод с помощью PDFChef вас не устраивает, вы можете рассмотреть следующие приложения:
-
PDF-XChange Editor: Он позволяет легко извлекать страницы и сохранять их в текстовом формате. При этом текст будет копируемым.
-
Smallpdf: Этот онлайн-инструмент предоставляет функциональность для комбинирования, разделения и преобразования PDF файлов. Однако будьте внимательны при работе с большими файлами из-за возможных ограничений на размер в бесплатной версии.
4. Проверка текстового слоя в документах
Вы упомянули, что можете использовать поиск (CTRL+F) в исходном PDF-файле, что указывает на наличие текстового слоя, поэтому важно убедиться, что выбранный вами инструмент действительно поддерживает сохранение текстов при экспорте. В некоторых случаях текст может быть поврежден вследствие неправильной кодировки шрифтов.
5. Проработка ошибок
Вы сталкивались с ошибками при использовании pdftotext
и другими методами. Если эти инструменты не сработали, попробуйте открыть PDF в других читателях, например:
- Adobe Acrobat Reader: хотя некоторые версии могут иметь ограничения, проверка семантики документа в этом приложении иногда помогает выявить проблемы.
- MuPDF: это легковесный PDF-ридер, который также позволяет проверять корректность текстового слоя.
Заключение
Наличие множества доступных инструментов для работы с PDF может затруднить выбор оптимального решения. Рекомендуется протестировать разные варианты, чтобы найти наиболее подходящий для ваших нужд. Осуществление экспорта страниц из больших PDF-документов может потребовать некоторых экспериментов, но с правильным инструментом вы сможете получать текстовые PDF-документы без потерь в качестве копируемого текста.