Open Source Python Library pro převod souborů PDF
Bezplatné Python API umožňuje vývojářům exportovat, otáčet, slučovat a spojovat soubory PDF, extrahovat data a prvky z PDF.
pdfrw je open source čistá knihovna Pythonu, která umožňuje vývojářům softwaru číst a zapisovat soubory PDF bez instalace jakéhokoli externího speciálního softwaru. Programovací knihovna pdfrw se velmi jednoduše používá a zdrojový kód je dobře zdokumentovaný, velmi jednoduchý a snadno pochopitelný. Knihovna obsahuje správnou podporu Unicode pro textové řetězce v PDF a také nejrychlejší čistý Python PDF parser.
Knihovna pdfrw obsahuje podporu pro několik důležitých operací PDF, jako je slučování PDF, úprava metadat, zřetězení více PDF dohromady, extrahování obrázků, tisk PDF, otáčení stránek PDF, vytváření nového PDF, přidání obrázku PDF vodoznaku a mnoho dalších.
.
Začínáme s pdfrw
pdfrw vyžaduje Python 2.6, 2.7, 3.3, 3.4, 3.5 a 3.6. Můžete nainstalovat pdfrw pomocí pip. K instalaci použijte následující příkaz.
Nainstalujte pdfrw přes pip
python -m pip install pdfrw
Vytvářejte dokumenty PDF prostřednictvím knihovny Python
Knihovna pdfrw poskytuje vývojářům softwaru možnost vytvářet dokumenty ve formátu PDF v rámci jejich vlastních aplikací Python pomocí pouhých několika řádků kódu. Knihovna také poskytuje podporu pro přístup a úpravy existujících souborů PDF. Do stávajícího PDF můžete snadno vložit nové stránky i grafické komponenty nebo textové prvky. Knihovna pdfrw poskytuje podporu pro vyhledání stránek v souborech PDF, které čtete, a pro zapsání sady stránek zpět do nového souboru PDF.
Vytvářejte a upravujte dokumenty PDF pomocí Pythonu
// 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()
Čtení souborů PDF přes Python
Knihovna pdfrw umožňuje vývojářům softwaru snadno přistupovat a číst různé části dokumentů PDF v aplikacích Python. Umožňuje snadný přístup k celému dokumentu PDF. Knihovna podporuje načítání informací o souborech, velikosti a dalších. Vytváří speciální atribut s názvem pages, který uživatelům umožňuje vypsat všechny stránky dokumentu PDF. Umožňuje extrahovat informační objekt dokumentu, který můžete použít k vytažení informací, jako je autor, název atd.
Přístup a čtení souborů PDF přes Python
// 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')
Přidání nebo úprava metadat
pdfrw umožňuje vývojářům softwaru přidávat nebo upravovat metadata souborů PDF uvnitř jejich vlastních aplikací Python. Můžete změnit jednu položku metadat v PDF, zapsat výsledek do nového PDF, stejně jako můžete zahrnout více souborů a zřetězit je po přidání některých nesmyslných metadat do výstupního souboru PDF.
Upravte metadata PDF pomocí Pythonu
// 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()
Rozdělení dokumentů PDF
pdfrw umožňuje vývojářům softwaru programově rozdělovat dokumenty PDF uvnitř jejich aplikací. Uživatel může vyžadovat extrahování určité části knihy PDF nebo její rozdělení do více souborů PDF namísto jejich uložení do jednoho souboru. S knihovnou pdfrw je to velmi snadné, stačí zadat vstupní cestu k souboru PDF, počet stránek, které chcete extrahovat, a výstupní cestu.
Rozdělit soubor PDF na více souborů PDF pomocí Pythonu
// 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')