Biblioteka Open Source Python do konwertowania plików PDF
Bezpłatny interfejs API Pythona umożliwia programistom eksportowanie, obracanie, łączenie i łączenie plików PDF, wyodrębnianie danych i elementów z plików PDF.
pdfrw to czysta biblioteka Pythona o otwartym kodzie źródłowym, która umożliwia programistom odczytywanie i zapisywanie plików PDF bez instalowania żadnego zewnętrznego specjalnego oprogramowania. Biblioteka programistyczna pdfrw jest bardzo prosta w użyciu, a kod źródłowy jest dobrze udokumentowany, bardzo prosty i łatwy do zrozumienia. Biblioteka zawiera odpowiednią obsługę Unicode dla ciągów tekstowych w plikach PDF, a także najszybszy parser PDF w czystym Pythonie.
Biblioteka pdfrw zawiera obsługę kilku ważnych operacji PDF, takich jak łączenie plików PDF, modyfikowanie metadanych, łączenie wielu plików PDF razem, wyodrębnianie obrazów, drukowanie PDF, obracanie stron PDF, tworzenie nowego pliku PDF, dodawanie obrazu PDF ze znakiem wodnym i wiele innych.
.
Pierwsze kroki z pdfrw
pdfrw wymaga Pythona 2.6, 2.7, 3.3, 3.4, 3.5 i 3.6. Możesz zainstalować pdfrw używając pip. Użyj następującego polecenia, aby go zainstalować.
Zainstaluj pdfrw przez pip
python -m pip install pdfrw
Twórz dokumenty PDF za pomocą biblioteki Python
Biblioteka pdfrw zapewnia programistom możliwość tworzenia dokumentów PDF w ich własnych aplikacjach Pythona za pomocą zaledwie kilku linijek kodu. Biblioteka zapewnia również obsługę dostępu i modyfikowania istniejących plików PDF. Możesz łatwo wstawiać nowe strony, elementy graficzne lub elementy tekstowe do istniejącego pliku PDF. Biblioteka pdfrw zapewnia obsługę wyszukiwania stron w odczytywanych plikach PDF i zapisywania zestawu stron z powrotem do nowego pliku PDF.
Twórz i zmieniaj dokumenty PDF za pomocą Pythona
// PDF Documents Creation
import sys
import os
from pdfrw import PdfReader, PdfWriter
inpfn, = sys.argv[1:]
outfn = 'alter.' + os.path.basename(inpfn)
trailer = PdfReader(inpfn)
trailer.Info.Title = 'My New Title Goes Here'
PdfWriter(outfn, trailer=trailer).write()
Czytanie plików PDF za pomocą Pythona
Biblioteka pdfrw daje programistom łatwy dostęp i odczytywanie różnych części dokumentów PDF w aplikacjach Pythona. Daje łatwy dostęp do całego dokumentu PDF. Biblioteka obsługuje pobieranie informacji o pliku, jego rozmiarze i nie tylko. Tworzy specjalny atrybut o nazwie pages, który pozwala użytkownikom wyświetlić listę wszystkich stron dokumentu PDF. Pozwala wyodrębnić obiekt informacji o dokumencie, którego można użyć do wyciągnięcia informacji, takich jak autor, tytuł itp.
Uzyskaj dostęp i czytaj pliki PDF za pomocą Pythona
// Reading PDF Files
from pdfrw import pdfreader
def get_pdf_info(path):
pdf = pdfreader(path)
print(pdf.keys())
print(pdf.info)
print(pdf.root.keys())
print('pdf has {} pages'.format(len(pdf.pages)))
if __name__ == '__main__':
get_pdf_info('w9.pdf')
Dodawanie lub modyfikowanie metadanych
pdfrw umożliwia programistom dodawanie lub modyfikowanie metadanych plików PDF w ich własnych aplikacjach Pythona. Możesz zmienić pojedynczy element metadanych w pliku PDF, zapisać wynik w nowym pliku PDF, a także włączyć wiele plików i połączyć je po dodaniu kilku bezsensownych metadanych do wyjściowego pliku PDF.
Modyfikuj metadane PDF za pomocą Pythona
// Modifying PDF Metadata
import sys
import os
from pdfrw import PdfReader, PdfWriter
inpfn, = sys.argv[1:]
outfn = 'alter.' + os.path.basename(inpfn)
trailer = PdfReader(inpfn)
trailer.Info.Title = 'My New Title Goes Here'
PdfWriter(outfn, trailer=trailer).write()
Dzielenie dokumentów PDF
pdfrw pozwala programistom programowo dzielić dokumenty PDF Documents w ich aplikacjach. Użytkownik może wymagać wyodrębnienia określonej części książki PDF lub podzielenia jej na wiele plików PDF zamiast przechowywania ich w jednym pliku. Jest to bardzo proste z biblioteką pdfrw, wystarczy podać ścieżkę wejściowego pliku PDF, liczbę stron, które chcesz wyodrębnić, i ścieżkę wyjściową.
Podziel plik PDF na wiele plików PDF za pomocą Pythona
// Splitting PDF file into multiple pdfs
from pdfrw import pdfreader, pdfwriter
def split(path, number_of_pages, output):
pdf_obj = pdfreader(path)
total_pages = len(pdf_obj.pages)
writer = pdfwriter()
for page in range(number_of_pages):
if page <= total_pages:
writer.addpage(pdf_obj.pages[page])
writer.write(output)
if __name__ == '__main__':
split('reportlab-sample.pdf', 10, 'subset.pdf')