1. Produkty
  2.   PDF
  3.   Python
  4.   PDFsuite
 
  

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.

Previous Next

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