Cruthaigh, Cuir in Eagar & Tiontaigh PDF go Íomhánna trí Python API
API Python saor in aisce chun PDF a chruthú, a eagarthóireacht agus a thiontú go híomhánna agus a mhalairt. Cumaisc / scoilt & PDF a thiontú go téacs, PDF a Rothlaigh / Baile Átha Troim / Barraí.
Is leabharlann Python an-úsáideach é PDFsuite a sholáthraíonn feidhmiúlacht iomlán a bhaineann le cruthú agus bainistíocht doiciméad PDF. Tá an leabharlann an-chobhsaí agus is féidir í a rith go héasca ar MacOS (OS X). Tá PDFsuite an-éasca le húsáid agus tugann sé an cumas d’úsáideoirí a gcuid comhad PDF a bhainistiú agus níl le déanamh ach cliceáil ar gach rud a d’fhéadfadh siad a bheith ag iarraidh a dhéanamh le PDF.
Tá an leabharlann an-saibhir ó thaobh gnéithe agus tá roinnt gnéithe tábhachtacha a bhaineann le láimhseáil doiciméad PDF san áireamh, mar dhoiciméid PDF a thiontú go PDF, doiciméid PDF a chumasc nó a scoilteadh, íomhánna a thiontú go PDF, rothlú PDF, uimhreacha na leathanach a chur le PDF, comhartha uisce a chur isteach ann. PDFs, tarraing grafaice i bhformáid PDF, cuir scagairí Grianchloch i bhfeidhm ar PDFs, faigh rochtain agus léamh meiteashonraí, easpórtáil leathanaigh PDF mar íomhánna, comhair leathanaigh i PDF agus go leor eile. Tá na scripteanna PDFsuite foinse oscailte go hiomlán saor in aisce le húsáid in aon chineál tionscadail agus is féidir iad a oiriúnú ar bhealach ar bith.
Tús a chur le PDFsuite
Chun PDFsuite a rith ar dtús ní mór duit python 3 agus an leabharlann pyobjc a shuiteáil, agus ina dhiaidh sin sa Teirminéal clóscríobh an t-ordú seo a leanas agus brúigh Return.
Suiteáil pyobjc trí pip
pip3 install pyobjc
Is féidir freisin an leabharlann a shuiteáil de láimh; íoslódáil na comhaid eisithe is déanaí go díreach ó GitHub stór.
Tiontaigh PDF go Íomhá & Formáidí Eile
Tá feidhmiúlacht iomlán ionchorpraithe ag an PDFsuite chun doiciméid PDF a thiontú go formáidí éagsúla comhaid íomhá. Soláthraíonn sé PNG, JPEG, Tiff, agus formáidí comhaid íomhá tóir eile. Is féidir freisin íomhá bitmapa a chruthú ó gach leathanach de na doiciméid PDF a chuirtear ar fáil gan stró. Nuair a bheidh an próiseas críochnaithe ní mór duit ainm ar leith a shannadh do gach comhad agus é a shábháil ar an diosca. Tacaíonn sé freisin le hathrú ar an réiteach, trédhearcacht, agus paraiméadair eile. Is féidir comhaid PDF a thiontú go téacs agus go formáidí comhaid eile freisin.
Comhcheangail Ilchomhaid PDF ag baint úsáide as Python Scripts
An raibh tú riamh i gcás ina bhfuil sé riachtanach doiciméid PDF éagsúla a chur le chéile chun comhad PDF nua a chruthú? Is minic a éilíonn eagraíochtaí comhaid PDF iolracha a chumasc in aon doiciméad amháin. Déanann leabharlann PDFsuite éasca dá húsáideoirí doiciméid iomadúla PDF a chomhcheangal in aon cheann amháin le cúpla líne de chód Python. Cuireann sé freisin clár iontráil clár na n-ábhar le haghaidh gach comhad a chomhdhéanann í. Tacaíonn an leabharlann go hiomlán freisin le doiciméid mhóra PDF a roinnt ina gceann níos lú taobh istigh d’aipeanna Python.
Cumaisc Ilchomhaid PDF trí 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)
Comhaid PDF a thiontú go Téacschomhad trí Python
Tá roinnt gnéithe tábhachtacha curtha san áireamh sa leabharlann foinse oscailte PDFsuite maidir le doiciméid PDF a thiontú go formáidí iomadúla comhaid tacaíochta. Gné thábhachtach amháin is ea an t-ábhar téacs i gcomhad PDF a thiontú ina chomhad téacs seachtrach agus é a shábháil chuig do rogha áit. Is féidir freisin gach leathanach de na doiciméid PDF a shábháil mar chomhad ar leith agus é a shábháil le hainm difriúil.
Tiontaigh Doiciméid PDF go Téacschomhad trí 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()
Rothlaigh, Baile Átha Troim, Barraí PDF nó Leathanaigh in Aipeanna Python
Tá roinnt feidhmiúlachtaí tábhachtacha curtha san áireamh sa leabharlann PDFsuite chun comhaid PDF a láimhseáil go héasca. Ligeann sé do ríomhchláraitheoirí doiciméid PDF a rothlú, a bhearradh, a bhearradh, a chlaonadh, a mharcáil uisce, a scála agus a shruthlú laistigh dá bhfeidhmchlár Python féin. Tá dhá bhealach curtha ar fáil aige chun leathanach PDF nó comhad iomlán a rothlú. Is é an chéad cheann ná comhthéacs PDF nua a chruthú, gach leathanach den bhunleagan a athrú go grafach agus an comhad a shábháil. Ar an dara dul síos, ní gá duit ach an paraiméadar 'uainíochta' ar gach leathanach a choigeartú agus sin é.
Conas Comhaid PDF a Ghearradh trí 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)