Рубрики
Без рубрики

Чтение и письмо PDFS в Python

Это будет быстрая запись о том, как использовать PYPDF2 для чтения и записи файлов PDF. Это не только ха … с меткой Python.

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

Основной процесс

Если вы просто хотите объединить кучу PDF-файлов, чтобы сделать один больший PDF-файл, то путь к этому идет несколько так:

from PyPDF2 import PdfFileWriter, PdfFileReader

# ...

file1 = PdfFileReader(file(filename1, "rb"))
file2 = PdfFileReader(file(filename2, "rb"))

output = PdfFileWriter()

page1 = file1.getPage(specificPageIndex)
page2 = file2.getPage(specificPageIndex)

output.addPage(page1)
output.addPage(page2)

outputStream = file("document-output.pdf", "wb")
output.write(outputStream)
outputStream.close()

Здесь я объясню каждую строку процесса выше.

  • Во-первых, мы импортируем PdffileWriter и Pdffilereader Из PypDF2 это классы, которые пишут и читают файлы PDF, соответственно. Есть также другой класс Pdffilemerger Это отвечает за сочетание целых файлов в файл PDF. Основное отличие между pdffileWriter и pdffilemerger заключается в том, что pdffilemerger обходит объекты страницы и сбрасывает весь PDF в файл, в то время как PDFHILEWRITER позволяет добавлять определенные страницы с PDF и промывать их в файл.
  • Затем мы создаем объект pdffilereader из файла, открытого в двоичном режиме.
  • Мы также построим PDFFILEWRISTER, ему не нужны какие-либо аргументы, переданные ему.
  • В объектах pdffilereader мы можем использовать GetPage () Чтобы получить доступ к странице PDF на указанном номере страницы. Это не всегда ярлык внизу страницы, поскольку некоторые PDF имеют нерешенные страницы и страницы, помеченные римскими цифрами, поэтому приведет к тому, что этикетки начнут маркировку от 1 нескольких страниц после первой страницы.
  • addpage () Способ pdffileWriter вызывается, когда мы хотим добавить страницу , это требует объекта PDF страницы в качестве его аргумента.
  • Наконец мы называем Написать () На PDFFILEWRITER, поставьте дескриптор открытого файла, чтобы написать файл PDF.

Дополнительные поля

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

Закладки (наброски документов, по сути, оглавление) также можно прочитать из PDF, используя pdffilereader.

p = PdfFileReader(file(filename, "rb"))

# Gets the document outline (bookmarks). Returns a nested
# list of Destination objects.
dest = p.getOutlines()

# ... Sample Destination object
>>> dest_obj.title
"Appendix"
>>> dest_obj.page
692

# Number of pages in the PDF file
num = p.getNumPages()

# The following demonstrates how to get the document information
# of the PDF file
>>> from PyPDF2 import PdfFileReader
>>> inputPdf = PdfFileReader(open("test.pdf", "rb"))
>>> docInfo = inputPdf.getDocumentInfo()
>>> docInfo.author
Anonymous
>>> docInfo.creator
Hewlett Packard MFP
>>> docInfo.producer
Acrobat Distiller 10.0.0 (Windows)
>>> docInfo.title
A Test
>>> docInfo.subject
testing

Иногда PDF зашифрован, что приведет к тому, что большинство функций выше, которые прочитают любые свойства или метаданные в нем. Вы можете расшифровать PDF, позвонив на расшифровать («пароль») Метод в PdFreadFile.

А также были сделаны

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

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

Оригинал: “https://dev.to/zenulabidin/reading-and-writing-pdfs-in-python-nnp”