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

Kurkite, redaguokite ir konvertuokite PDF į vaizdus naudodami Python API

Nemokama Python API, skirta kurti, redaguoti ir konvertuoti PDF į vaizdus ir atvirkščiai. Sujungti / padalyti ir konvertuoti PDF į tekstą, pasukti / apkarpyti / apkarpyti PDF failus.

PDFsuite yra labai naudinga Python biblioteka, teikianti visas funkcijas, susijusias su PDF dokumentų kūrimu ir valdymu. Biblioteka yra labai stabili ir gali būti lengvai paleidžiama MacOS (OS X). „PDFsuite“ yra labai paprasta naudoti ir suteikia vartotojams galimybę tvarkyti savo PDF failus, o viskas, ką jie galbūt norėtų padaryti su PDF, yra vos vienu spustelėjimu.

Biblioteka turi daug funkcijų ir apima keletą svarbių funkcijų, susijusių su PDF dokumentų tvarkymu, pvz., PDF dokumentų konvertavimas į PDF, PDF dokumentų sujungimas arba padalijimas, vaizdų konvertavimas į PDF, PDF sukimas, puslapių numerių įtraukimas į PDF, vandens ženklų įterpimas į PDF. PDF rinkmenas, pieškite grafiką PDF failuose, taikykite PDF failams kvarcinius filtrus, pasiekite ir skaitykite metaduomenis, eksportuokite PDF puslapius kaip vaizdus, skaičiuokite puslapius PDF formatu ir dar daugiau. PDFsuite scenarijai yra atvirojo kodo, yra visiškai nemokami naudoti bet kokiame projekte ir gali būti bet kokiu būdu pritaikyti.

Previous Next

Darbo su PDFsuite pradžia

Norėdami paleisti PDFsuite, pirmiausia turite įdiegti python 3 ir pyobjc biblioteką, o po to terminale įveskite šią komandą ir paspauskite Grįžti.

Įdiekite pyobjc per pip

 pip3 install pyobjc 

Biblioteką galima įdiegti ir rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.

Konvertuokite PDF į vaizdą ir kitus formatus

„PDFsuite“ turi visas funkcijas, skirtas konvertuoti PDF dokumentus į įvairius vaizdo failų formatus. Jis teikia PNG, JPEG, Tiff ir kitus populiarius vaizdo failų formatus. Taip pat galima lengvai sukurti bitmap vaizdą iš kiekvieno pateikto PDF dokumento puslapio. Kai procesas bus baigtas, kiekvienam failui turite priskirti atskirą pavadinimą ir išsaugoti jį diske. Tai taip pat palaiko skiriamosios gebos, skaidrumo ir kitų parametrų keitimą. Taip pat galima konvertuoti PDF failus į tekstinius ir kitus failų formatus.

Sujunkite kelis PDF failus naudodami Python scenarijus

Ar kada nors teko susidurti su situacija, kai norint sukurti naują PDF failą reikia sujungti skirtingus PDF dokumentus? Organizacijos dažnai reikalauja sujungti kelis PDF failus į vieną dokumentą. „PDFsuite“ biblioteka leidžia vartotojams lengvai sujungti kelis PDF dokumentus į vieną, naudojant tik kelias Python kodo eilutes. Jis taip pat prideda kiekvieno komponento failo turinio įrašą. Biblioteka taip pat visiškai palaiko didelių PDF dokumentų padalijimą į mažesnius Python programose.

Sujunkite kelis PDF failus naudodami 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)

Konvertuokite PDF failus į tekstinį failą naudodami Python

Atvirojo kodo PDFsuite bibliotekoje yra keletas svarbių PDF dokumentų konvertavimo į daugybę palaikomų failų formatų funkcijų. Viena svarbi funkcija yra PDF failo tekstinio turinio konvertavimas į išorinį tekstinį failą ir išsaugojimas jūsų pasirinktoje vietoje. Taip pat galima išsaugoti kiekvieną PDF dokumentų puslapį kaip atskirą failą ir įrašyti jį kitu pavadinimu.

Konvertuokite PDF dokumentus į tekstinį failą naudodami 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()

Pasukite, apkarpykite, apkirpkite PDF failus arba puslapius „Python Apps“.

PDFsuite bibliotekoje yra keletas svarbių funkcijų, leidžiančių lengvai tvarkyti PDF failus. Tai leidžia programuotojams savo Python programoje pasukti, apkarpyti, apkarpyti, dažyti, atspalvinti, keisti mastelį ir skalauti PDF dokumentus. Jame pateikti du būdai pasukti PDF puslapį arba užbaigti failą. Pirmasis yra sukurti naują PDF kontekstą, grafiškai transformuoti kiekvieną originalo puslapį ir išsaugoti failą. Antra, tereikia kiekviename puslapyje pakoreguoti „sukimo“ parametrą ir viskas.

 

Kaip apkarpyti PDF failus per 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)
 Lietuvių