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

Creare, modificare e convertire PDF in immagini tramite Python API

Python API gratuito per creare, modificare e convertire PDF in immagini e viceversa. Merge/split & convertire PDF a testo, Ruotare /Trim/Crop PDFs.

PDFsuite è una libreria Python molto utile che fornisce funzionalità complete relative alla creazione e gestione di PDF documenti. La biblioteca è molto stabile e può essere facilmente eseguito su MacOS (Of X). PDFsuite è molto facile da usare e dà agli utenti la possibilità di gestire i loro PDF file e tutto ciò che potrebbe eventualmente desiderare di fare a PDF è solo un clic di distanza.

La libreria è molto ricca di funzionalità e ha incluso diverse caratteristiche importanti relative alla gestione di PDF documenti, come la conversione di PDF documenti a PDF, la fusione o la divisione PDF documenti, la conversione di immagini a PDF, PDF pagine Gli script PDFsuite sono open source completamente gratuiti per l'uso in qualsiasi tipo di progetto e possono essere adattati in qualsiasi modo.

Previous Next

Iniziare con PDFsuite

Per eseguire PDFsuite prima è necessario installare python 3 e la libreria pyobjc, e dopo di che nel Terminal digitare il seguente comando e premere Return.

Installare pyobjc tramite pip

 pip3 install pyobjc 

È anche possibile installare la libreria manualmente; scarica i file dell'ultima versione direttamente dal repository GitHub.

Convertire PDF in Immagine & altri formati

Il PDFsuite ha incorporato funzionalità complete per convertire PDF documenti in vari formati di file immagine. Fornisce NG, JPEG, Diff e altri formati di file immagine popolari. È anche possibile creare un'immagine batman da ogni pagina dei PDF documenti forniti con facilità. Una volta completato il processo è necessario assegnare un nome separato ad ogni file e salvarlo sul disco. Supporta inoltre la modifica della risoluzione, della trasparenza e di altri parametri. È anche possibile convertire PDF file in testo e altri formati di file.

Combinare più file PDF utilizzando script Python

Sei mai stato in una situazione in cui è necessario combinare diversi PDF documenti per creare un nuovo file PDF? Le organizzazioni spesso richiedono la fusione di più PDF file in un unico documento. La libreria PDFsuite rende facile per i suoi utenti combinare più di PDF documenti in uno solo con solo un paio di righe di codice Python. Aggiunge anche una tabella di contenuto per ogni file componente. La libreria supporta anche completamente la divisione di grandi PDF documenti in quelli più piccoli all'interno di applicazioni Python.

Merge Multiple PDF file via Python 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)

Convertire PDF file in file di testo via Python

La libreria open source PDFsuite ha incluso diverse caratteristiche importanti per la conversione di PDF documenti in numerosi formati di file di supporto. Una caratteristica importante è convertire il contenuto di testo di un file PDF in un file di testo esterno e salvarlo nel luogo di vostra scelta. È anche possibile salvare ogni pagina dei PDF documenti come file separato e salvarlo con un nome diverso.

Convertire PDF documenti in file di testo tramite 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()

Ruotare, tagliare, ritagliare PDFs o pagine in applicazioni Python

La libreria PDFsuite ha incluso diverse funzionalità importanti per gestire facilmente PDF file. Permette ai programmatori di ruotare, tagliare, ritagliare, tinta, filigrana, scala e aumentare PDF documenti all'interno della propria applicazione Python. Ha fornito due modi per ruotare una pagina PDF o file completo. Il primo è quello di creare un nuovo PDF contesto, trasformare graficamente ogni pagina dell'originale e salvare il file. In secondo luogo, è sufficiente regolare il parametro 'rotation' su ogni pagina e questo è tutto.

 

Come tagliare PDF file via Python 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)
 Italiano