Как включить страницу в PDF в PDF документ в Python - PullRequest
5 голосов
/ 23 марта 2009

Я использую набор инструментов reportlab в Python для создания некоторых отчетов в формате PDF. Я хочу использовать некоторые предопределенные части документов, уже опубликованных в формате PDF, для включения в созданный файл PDF. Возможно ли (и как) это сделать в reportlab или в библиотеке python?

Я знаю, что могу использовать некоторые другие инструменты, такие как PDF Toolkit (pdftk), но я ищу решение на основе Python.

Ответы [ 3 ]

6 голосов
/ 23 марта 2009

В настоящее время я использую PyPDF для чтения, записи и объединения существующих PDF-файлов и ReportLab для создания нового контента. Использование двух пакетов, казалось, работало лучше, чем любой отдельный пакет, который мне удалось найти.

2 голосов
/ 23 августа 2011

Если вы хотите поместить существующие страницы PDF в документы Reportlab, я рекомендую pdfrw . В отличие от PageCatcher это бесплатно.

Я использовал его для нескольких проектов, где мне нужно добавить штрих-коды и т. Д. В существующие документы, и это работает очень хорошо. На странице проекта есть несколько примеров того, как использовать его с Reportlab.

Несколько вещей, на которые стоит обратить внимание:

Если исходный PDF-файл содержит ошибки (например, из-за того, что исходная программа не совсем точно соответствует спецификации PDF), pdfrw может завершиться ошибкой, даже если что-то вроде Adobe Reader не имеет явных проблем при чтении PDF. В настоящее время pdfrw не очень устойчив к ошибкам.

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

1 голос
/ 23 марта 2009

Существует дополнение для ReportLab & mdash; PageCatcher .

...