Gender PDF Файлове, Екстракт Текст Изображения чрез Библиотека Free Python

Free Python API позволява редактиране и предоставяне на PDF файла; извличане на текст и изображения, редактиране на PDF страници, сливане / разделяне конвертиране PDF с лекота.

Python API е лек с отворен код Python API, който добавя връзки на Python и абстракция към PDF. API е малък по размер, но все пак много бърз и поддържа редица популярни формати на документи, включително PDF, XPS OpenXPS, CB, PUB и FB2 (eBooks) формати, както и около 10 популярни формати на изображения. PyMuPD е много надежден и е известен с най-добрите си възможности за пране. Тъй като библиотеката е много лека, това го прави чудесен избор за платформи, където ресурсите обикновено са ограничени, като смартфони.

Има много основни и разширени функции, поддържани от YouPDF API за PDF редактиране на документи и конверсии, като например конвертиране на PDF към NG, достъп и гледане на метаданни, създаване на страница PyMuPDF включва поддръжка за множество платформи като Mac, Linux и Windows.

Previous Next

Започнете с PyMuPDF

PyMuPDF може да бъде инсталиран с помощта на пип, следните команди ще бъдат инсталирани от колело Python, ако една е налична за вашата платформа.

Инсталиране на PyMuPDF чрез пип

 python -m pip install --upgrade pip
python -m pip install --upgrade pymupdf
 

Clone PyMuPDF чрез git Repository

 git clone https://github.com/pymupdf/PyMuPDF.git 

Възможно е и ръчно инсталиране; изтеглете файловете с най-новата версия директно от хранилището на GitHub.

Търсене на текст в PDF файла чрез Python

PDF е един от любимите файлови формати в света за споделяне на документи в интернет, защото запазва всички формати и графики в него. Но не е лесно да търсите текст в тези файлове в сравнение с други документи. Безплатната библиотека на PyMuPDF позволява на разработчиците на софтуер да добавят възможности за търсене на текст в своите приложения на Python. Тя позволява да се търси къде на страницата има определен текстов низ.

Търсене къде на PDF страници Текстови струни се появява чрез Python

areas = page.search_for("mupdf") 

Извличане на PDF текст и изображения чрез Python API

Библиотеката с отворен код YouPDF включва няколко важни функции за работа с PDF текст и изображения. Библиотеката е предоставила различни функции за извличане на текст, както и изображения от PDF документа. По подразбиране тя позволява извличането на обикновен текст с прекъсвания на линията. Няма форматиране, няма данни за текстовата позиция, няма изображения. Освен това тя поддържа генерирането на списък с текстови блокове, генерирайки списък с думи, създавайки пълна визуална версия на страницата, включително всички изображения и много други.

Как да извлечете текст от PDF чрез 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 ) )

Присъединете се към PDF документа в Python As

Комбинирането на различни PDF файла е много полезна функция, която дава на потребителите възможността да имат един PDF вместо дузина отделни PDF. Безплатната и отворена платформа YouPDF дава възможност на софтуерните програмисти да обединяват различни файлове или да копират страници между различни PDF документа. Той също така дава възможност на потребителите да разделят големи PDF документа на по-малки файлове само с няколко реда код на Python. Също така е възможно да изберете някои конкретни страници от PDF документ и да създадете нов документ от него.

Създава нов документ от първите и последните 10 страници

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")

Износ на PDF метаданни до CSV чрез Python

Библиотеката с отворен код YouPDF предоставя пълна функционалност за достъп и четене на метаданни от PDF файла без външни зависимости. Той поддържа различни видове метаданни ключове като дата за създаване, автор, заглавие, приложение за създатели, всеки предмет, метод за криптиране, файлов формат и т.н. Възможно е също така да се експортират метаданни в CSV формат.

 

Износ на PDF метаданни до CSV чрез 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()
 Български