Twórz, edytuj i konwertuj PDF do zdjęć za pośrednictwem Python API
Bezpłatny Python API do tworzenia, edycji i konwersji PDF do obrazów i odwrotnie. Połączenie/split & convert PDF to text, Rotate /Trim/Crop PDFs.
PDFsuite to bardzo przydatna biblioteka Pythona, która zapewnia pełną funkcjonalność związaną z PDF tworzeniem i zarządzaniem dokumentami. Biblioteka jest bardzo stabilna i można ją łatwo uruchomić na MacOS (Of X). PDFsuite jest bardzo łatwy w użyciu i daje użytkownikom możliwość zarządzania ich PDF plików i wszystko, co mogą chcieć zrobić z PDF jest tylko kliknięcie dalej.
Biblioteka jest bardzo bogata w funkcje i zawiera kilka ważnych funkcji związanych z PDF obsługą dokumentów, takich jak PDF dokumenty konwersji do PDF, łączenie lub Splitting PDF dokumenty, konwertowanie obrazów do PDF rotacji, Dodawanie numerów strony Skrypty PDFsuite są open source są całkowicie wolne do użytku w każdym rodzaju projektu i mogą być dostosowane w jakikolwiek sposób.
Zacznij od PDFsuite
Aby uruchomić plik PDFsuite najpierw musisz zainstalować python 3 i bibliotekę piobjc, a następnie w Terminalu wpisz następujące polecenie i wciśnij Powrót.
Zainstaluj piobjc przez rurociąg
pip3 install pyobjc
Możliwa jest również ręczna instalacja biblioteki; pobierz pliki najnowszej wersji bezpośrednio z repozytorium GitHub.
Konwertuj PDF do obrazów i innych formatów
PDFsuite posiada pełną funkcjonalność do konwersji PDF dokumentów do różnych formatów plików graficznych. Zapewnia NG, JPEG, Diff i inne popularne formaty plików graficznych. Możliwe jest również stworzenie obrazu batmana z każdej strony dostarczonych PDF dokumentów z łatwością. Po zakończeniu procesu należy przydzielić osobną nazwę do każdego pliku i zapisać ją na dysku. Wspiera również zmianę rozdzielczości, przejrzystości i innych parametrów. Istnieje również możliwość konwersji PDF plików do tekstów i innych formatów plików.
Połącz wiele PDF plików za pomocą skryptów Python
Czy kiedykolwiek byłeś w sytuacji, w której wymagane jest połączenie różnych PDF dokumentów, aby utworzyć nowy PDF plik? Organizacje często wymagają połączenia wielu PDF plików w jeden dokument. Biblioteka PDFsuite ułatwia swoim użytkownikom łączenie wielu PDF dokumentów w jeden z zaledwie kilku linii kodu Pythona. Dodaje również tabelę wpisu zawartości dla każdego pliku składowego. Biblioteka w pełni obsługuje rozdzielenie dużych PDF dokumentów na mniejsze w aplikacjach Python.
Połącz wiele PDF plików za pośrednictwem Pythona API
def merge(filename):
writeContext = None
shortName = os.path.splitext(filename)[0]
outFilename = shortName + "+wm.pdf"
metaDict = getDocInfo(filename)
writeContext = createOutputContextWithPath(outFilename, metaDict)
readPDF = createPDFDocumentWithPath(filename)
mergePDF = createPDFDocumentWithPath(watermark)
if writeContext != None and readPDF != None:
numPages = Quartz.CGPDFDocumentGetNumberOfPages(readPDF)
for pageNum in range(1, numPages + 1):
page = Quartz.CGPDFDocumentGetPage(readPDF, pageNum)
mergepage = Quartz.CGPDFDocumentGetPage(mergePDF, 1)
if page:
mediaBox = Quartz.CGPDFPageGetBoxRect(page, Quartz.kCGPDFMediaBox)
if Quartz.CGRectIsEmpty(mediaBox):
mediaBox = None
Quartz.CGContextBeginPage(writeContext, mediaBox)
Quartz.CGContextSetBlendMode(writeContext, Quartz.kCGBlendModeOverlay)
Quartz.CGContextDrawPDFPage(writeContext, page)
Quartz.CGContextDrawPDFPage(writeContext, mergepage)
Quartz.CGContextEndPage(writeContext)
Quartz.CGPDFContextClose(writeContext)
del writeContext
else:
print ("A valid input file and output file must be supplied.")
sys.exit(1)
if __name__ == "__main__":
for filename in sys.argv[1:]:
merge(filename)
Konwersja PDF plików do pliku tekstowego przez Python
Otwarta biblioteka PDFsuite zawiera kilka ważnych funkcji dla PDF konwersji dokumentów na liczne formaty plików wsparcia. Ważną cechą jest przekształcenie zawartości tekstu PDF pliku w zewnętrzny plik tekstowy i zapisanie go w miejscu wyboru. Możliwe jest również zapisanie każdej strony PDF dokumentów jako oddzielnego pliku i zapisanie go inną nazwą.
Przelicz PDF Dokumentów do pliku tekstowego przez Python API
import os, sys
from Quartz import PDFDocument
from CoreFoundation import (NSURL, NSString)
# Can't seem to import this constant, so manually creating it.
NSUTF8StringEncoding = 4
def main():
for filename in sys.argv[1:]:
shortName = os.path.splitext(filename)[0]
outputfile = shortName+" text.txt"
pdfURL = NSURL.fileURLWithPath_(filename)
pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
if pdfDoc :
pdfString = NSString.stringWithString_(pdfDoc.string())
pdfString.writeToFile_atomically_encoding_error_(outputfile, True, NSUTF8StringEncoding, None)
if __name__ == "__main__":
main()
Obracać, Trim, Crop PDFs lub Strony w aplikacji Python
Biblioteka PDFsuite zawiera kilka ważnych funkcji dla łatwego obsługi PDF plików. Umożliwia programistom obracanie się, przycinanie, uprawa, podbarwienie, znak wodny, skala i wzniesienie PDF dokumentów wewnątrz ich własnej aplikacji Python. Dała dwa sposoby na obrót stroną PDF lub kompletny plik. Pierwszym z nich jest stworzenie nowego PDF kontekstu, graficznie przekształcić każdą stronę oryginału i zapisać plik. Po drugie, wystarczy dostosować parametr 'rotation' na każdej stronie i to wszystko.
Jak przetrawić PDF plików za pośrednictwem Pythona API
import sys
import os
from Quartz import PDFDocument, kPDFDisplayBoxMediaBox, kPDFDisplayBoxTrimBox, CGRectEqualToRect
from CoreFoundation import NSURL
mediabox = kPDFDisplayBoxMediaBox
trimbox = kPDFDisplayBoxTrimBox
def trimPDF(filename):
hasBeenChanged = False
# filename = filename.decode('utf-8')
shortName = os.path.splitext(filename)[0]
outFilename = shortName + " TPS.pdf"
pdfURL = NSURL.fileURLWithPath_(filename)
pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
if pdfDoc:
pages = pdfDoc.pageCount()
for p in range(0, pages):
page = pdfDoc.pageAtIndex_(p)
mediaBoxSize = page.boundsForBox_(mediabox)
trimBoxSize = page.boundsForBox_(trimbox)
if not CGRectEqualToRect(mediaBoxSize, trimBoxSize):
page.setBounds_forBox_(trimBoxSize, mediabox)
hasBeenChanged = True
if hasBeenChanged:
pdfDoc.writeToFile_(outFilename)
if __name__ == '__main__':
for filename in sys.argv[1:]:
trimPDF(filename)