Genere PDF file, Estrarre testo e immagini tramite libreria Python gratuita
Free Python API permette di modificare e rendere PDF File; estrarre testo e immagini, modificare PDF pagine, unire/split e convertire PDFs con facilità.
PyMuPDF è una sorgente aperta leggera Python API che aggiunge attacchi Python e astrazione in PDF. Il API è di piccole dimensioni ma molto veloce e fornito supporta un certo numero di formati di documenti popolari tra cui PDF, XPS, OpenXPS, CB, PUB, e FB2 (eBooks) formati, così come circa 10 formati di immagini popolari possono essere aperti. Il PyMuPD è molto affidabile ed è noto per la sua capacità di rendering superiore. Poiché la biblioteca è molto leggero, lo rende una grande scelta per le piattaforme in cui le risorse sono solitamente limitate, come gli smartphone.
Ci sono numerose funzioni di base e avanzate supportate da YouPDF API per PDF rendering dei documenti e conversioni, come convertire PDF a NG, accedere e visualizzare i metadati, lavorare con i contorni, rendere una pagina di testo PyMuPDF ha incluso il supporto per numerose piattaforme, come Mac, Linux e Windows.
Iniziare con PyMuPDF
PyMuPDF può essere installato utilizzando pip, i seguenti comandi verranno installati da una ruota Python se uno è disponibile per la vostra piattaforma.
Installare PyMuPDF tramite pip
python -m pip install --upgrade pip
python -m pip install --upgrade pymupdf
Clone PyMuPDF via git Repository
git clone https://github.com/pymupdf/PyMuPDF.git
È anche possibile installarlo manualmente; scarica i file dell'ultima versione direttamente dal repository GitHub.
Ricerca di testo in PDF file via Python
PDF è stato uno dei formati di file preferiti del mondo per la condivisione di documenti su Internet perché conserva tutta la formattazione di testo e grafica al suo interno. Ma non è facile cercare il testo all'interno di questi file rispetto ad altri documenti. La libreria gratuita PyMuPDF consente agli sviluppatori di software di aggiungere funzionalità di ricerca di testo all'interno delle loro applicazioni Python. Permette di cercare dove sulla pagina esiste una certa stringa di testo.
Ricerca Dove sulla PDF Page String appa via Python
areas = page.search_for("mupdf")
Estrazione PDF Testo e immagini via Python API
La libreria open source YouPDF ha incluso diverse funzioni importanti per lavorare con PDF testi e immagini. La biblioteca ha fornito varie funzioni per estrarre testo e immagini da PDF documenti. Per impostazione predefinita, permette l'estrazione di testo semplice con interruzioni di riga. Nessuna formattazione, nessun dettaglio di posizione di testo, nessuna immagine. Inoltre, supporta la generazione di un elenco di blocchi di testo, generando un elenco di parole, creando una versione visuale completa della pagina, comprese le immagini, e molti altri.
Come estrarre il testo da PDF via Python API
from operator import itemgetter
from itertools import groupby
import fitz
doc = fitz.open( 'mydocument.pdf' )
pages = [ doc[ i ] for i in range( doc.pageCount ) ]
for page in pages:
text_words = page.getTextWords()
# The words should be ordered by y1 and x0
sorted_words = SortedCollection( key = itemgetter( 3, 0 ) )
for word in text_words:
sorted_words.insert( word )
# At this point you already have an ordered list. If you need to
# group the content by lines, use groupby with y1 as a key
lines = groupby( sorted_words, key = itemgetter( 3 ) )
Iscriviti e Split PDF Documenti in Python
Combinando diversi PDF file è una caratteristica molto utile che dà agli utenti la possibilità di avere uno PDF piuttosto che avere una dozzina di PDF separati. La libreria YouPDF cross-platform gratuita e open-source offre ai programmatori software il potere di unire diversi file o copiare pagine tra diversi PDF documenti con facilità. Inoltre dà agli utenti il potere di dividere i grandi PDF documenti in file più piccoli con solo un paio di linee di codice Python. È anche possibile selezionare alcune pagine specifiche di un documento PDF e creare un nuovo documento.
Crea un nuovo documento dalla prima e ultima 10 pagine
doc2 = fitz.open() # new empty PDF
doc2.insert_pdf(doc1, to_page = 9) # first 10 pages
doc2.insert_pdf(doc1, from_page = len(doc1) - 10) # last 10 pages
doc2.save("first-and-last-10.pdf")
Read & Export PDF Metadati a CSV via Python
La libreria open source YouPDF ha fornito funzionalità complete per accedere e leggere i metadati di PDF file senza dipendenze esterne. Supporta vari tipi di tasti metadati come data per la creazione, autore, titolo, applicazione creatore, qualsiasi argomento, metodo di crittografia, formato di file, e così via. È inoltre possibile esportare i metadati in CSV formati.
Esporta PDF Metadati a CSV via Python API
import csv
import fitz
import argparse
parser = argparse.ArgumentParser(description="Enter CSV delimiter [;], CSV filename and documment filename")
parser.add_argument('-d', help='CSV delimiter [;]', default = ';')
parser.add_argument('-x', help='delete XML info [n]', default = 'n')
parser.add_argument('-csv', help='CSV filename')
parser.add_argument('-pdf', help='PDF filename')
args = parser.parse_args()
delim = args.d # requested CSV delimiter character
assert args.csv, "missing CSV filename"
assert args.pdf, "missing PDF filename"
print "delimiter", args.d
print "xml delete", args.x
print "csv file", args.csv
print "pdf file", args.pdf
print "----------------------------------------"
doc = fitz.open(args.pdf)
oldmeta = doc.metadata
print "old metadata:"
for k,v in oldmeta.items():
print k, ":",v
with open(args.csv) as tocfile:
tocreader = csv.reader(tocfile, delimiter = delim)
for row in tocreader:
assert len(row) == 2, "each row must contain 2 entries"
oldmeta[row[0]] = row[1]
print "----------------------------------------"
print "\nnew metadata:"
for k,v in oldmeta.items():
print k, ":",v
doc.set_metadata(oldmeta)
doc.saveIncr()