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

Izveidojiet, rediģējiet un konvertējiet PDF uz attēliem, izmantojot Python API

Bezmaksas Python API PDF izveidei, rediģēšanai un konvertēšanai uz attēliem un otrādi. Apvienojiet/sadalīt un pārveidot PDF par tekstu, pagriezt/apgriezt/apgriezt PDF failus.

PDFsuite ir ļoti noderīga Python bibliotēka, kas nodrošina pilnīgu funkcionalitāti saistībā ar PDF dokumentu izveidi un pārvaldību. Bibliotēka ir ļoti stabila, un to var viegli palaist operētājsistēmā MacOS (OS X). PDFsuite ir ļoti viegli lietojams un sniedz lietotājiem iespēju pārvaldīt savus PDF failus, un viss, ko viņi varētu vēlēties darīt ar PDF, ir tikai klikšķa attālumā.

Bibliotēka ir ļoti bagāta ar funkcijām, un tajā ir iekļautas vairākas svarīgas funkcijas, kas saistītas ar PDF dokumentu apstrādi, piemēram, PDF dokumentu konvertēšana uz PDF, PDF dokumentu apvienošana vai sadalīšana, attēlu konvertēšana PDF formātā, PDF pagriešana, lappušu numuru pievienošana PDF failam, ūdenszīmju ievietošana PDF, zīmējiet grafiku PDF failos, lietojiet PDF failiem kvarca filtrus, piekļūstiet un lasiet metadatus, eksportējiet PDF lapas kā attēlus, saskaitiet lapas PDF failā un daudz ko citu. PDFsuite skripti ir atvērtā koda skripti ir pilnīgi bez maksas izmantošanai jebkāda veida projektos, un tos var jebkurā veidā pielāgot.

Previous Next

Darba sākšana ar PDFsuite

Lai palaistu PDFsuite, vispirms ir jāinstalē python 3 un pyobjc bibliotēka, un pēc tam terminālī, lūdzu, ierakstiet šo komandu un nospiediet taustiņu Return.

Instalējiet pyobjc, izmantojot pip

 pip3 install pyobjc 

Bibliotēku iespējams uzstādīt arī manuāli; lejupielādējiet jaunāko laidienu failus tieši no GitHub krātuves.

Konvertējiet PDF uz attēlu un citiem formātiem

PDFsuite ir iekļauta pilnīga funkcionalitāte PDF dokumentu konvertēšanai dažādos attēlu failu formātos. Tas nodrošina PNG, JPEG, Tiff un citus populārus attēlu failu formātus. Ir arī iespējams viegli izveidot bitkartes attēlu no katras nodrošināto PDF dokumentu lapas. Kad process ir pabeigts, katram failam ir jāpiešķir atsevišķs nosaukums un jāsaglabā tas diskā. Tā atbalsta arī izšķirtspējas, caurspīdīguma un citu parametru maiņu. Ir iespējams arī konvertēt PDF failus teksta un citos failu formātos.

Apvienojiet vairākus PDF failus, izmantojot Python skriptus

Vai esat kādreiz bijis situācijā, kad ir nepieciešams apvienot dažādus PDF dokumentus, lai izveidotu jaunu PDF failu? Organizācijām bieži ir nepieciešams apvienot vairākus PDF failus vienā dokumentā. PDFsuite bibliotēka ļauj lietotājiem ērti apvienot vairākus PDF dokumentus vienā, izmantojot tikai dažas Python koda rindas. Tas arī pievieno satura rādītāja ierakstu katram komponenta failam. Bibliotēka pilnībā atbalsta arī lielu PDF dokumentu sadalīšanu mazākos Python lietotnēs.

Apvienojiet vairākus PDF failus, izmantojot 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)

Konvertējiet PDF failus teksta failā, izmantojot Python

Atvērtā pirmkoda PDFsuite bibliotēkā ir iekļauti vairāki svarīgi līdzekļi PDF dokumentu konvertēšanai uz daudziem atbalsta failu formātiem. Viena svarīga funkcija ir PDF faila teksta satura pārvēršana ārējā teksta failā un tā saglabāšana jūsu izvēlētajā vietā. Ir iespējams arī saglabāt katru PDF dokumentu lapu kā atsevišķu failu un saglabāt to ar citu nosaukumu.

Konvertējiet PDF dokumentus teksta failā, izmantojot 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()

Pagrieziet, apgrieziet, apgrieziet PDF failus vai lapas Python lietotnēs

PDFsuite bibliotēkā ir iekļautas vairākas svarīgas funkcijas, lai ērti apstrādātu PDF failus. Tas ļauj programmētājiem pagriezt, apgriezt, apgriezt, tonēt, ūdenszīmes, mērogot un skalot PDF dokumentus savā Python lietojumprogrammā. Tas ir nodrošinājis divus veidus, kā pagriezt PDF lapu vai pabeigt failu. Pirmais ir izveidot jaunu PDF kontekstu, grafiski pārveidot katru oriģināla lapu un saglabāt failu. Otrkārt, jums vienkārši jāpielāgo "rotācijas" parametrs katrā lapā, un tas arī viss.

 

Kā apgriezt PDF failus, izmantojot 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)
 Latviski