Python API vasitəsilə PDF yaradın, redaktə edin və Şəkillərə çevirin
PDF-i şəkillərə və əksinə yaratmaq, redaktə etmək və çevirmək üçün pulsuz Python API. PDF-ləri birləşdirin/parlayın və mətnə çevirin, PDF-ləri fırladın/Kəs/Kəs.
PDFsuite, PDF sənədinin yaradılması və idarə edilməsi ilə bağlı tam funksionallığı təmin edən çox faydalı Python kitabxanasıdır. Kitabxana çox sabitdir və asanlıqla MacOS (OS X) üzərində işlənə bilər. PDFsuite-dən istifadə etmək çox asandır və istifadəçilərə PDF fayllarını idarə etmək imkanı verir və PDF-də etmək istəyə biləcəkləri hər şey bir kliklə kifayətdir.
Kitabxana çox zəngin xüsusiyyətlərə malikdir və PDF sənədlərinin PDF-ə çevrilməsi, PDF sənədlərinin birləşdirilməsi və ya bölünməsi, şəkillərin PDF-ə çevrilməsi, PDF fırlanması, PDF-ə səhifə nömrələrinin əlavə edilməsi, su nişanlarının daxil edilməsi kimi PDF sənədlərinin idarə edilməsi ilə bağlı bir sıra vacib funksiyaları özündə ehtiva edir. PDF-lər, PDF-lərdə qrafiklər çəkin, PDF-lərə kvars filtrləri tətbiq edin, metaməlumatlara daxil olun və oxuyun, PDF səhifələrini şəkillər kimi ixrac edin, PDF-də səhifələri sayın və s. PDFsuite skriptləri açıq mənbədir və istənilən növ layihədə istifadə üçün tamamilə pulsuzdur və istənilən şəkildə uyğunlaşdırıla bilər.
PDFsuite ilə işə başlamaq
PDFsuite-i işə salmaq üçün əvvəlcə python 3 və pyobjc kitabxanasını quraşdırmalısınız və bundan sonra Terminalda aşağıdakı əmri yazın və Return düyməsini basın.
pyobjc-ni pip vasitəsilə quraşdırın
pip3 install pyobjc
Kitabxananı əl ilə quraşdırmaq da mümkündür; ən son buraxılış fayllarını birbaşa GitHub deposundan endirin.
PDF-i Şəkil və Digər Formatlara çevirin
PDFsuite, PDF sənədlərini müxtəlif şəkil fayl formatlarına çevirmək üçün tam funksionallığı özündə birləşdirir. PNG, JPEG, Tiff və digər məşhur şəkil fayl formatlarını təmin edir. Təqdim olunan PDF sənədlərinin hər səhifəsindən asanlıqla bitmap təsviri yaratmaq da mümkündür. Proses başa çatdıqdan sonra hər bir fayla ayrıca ad təyin etməli və onu diskdə saxlamalısınız. O, həmçinin qətnamənin, şəffaflığın və digər parametrlərin dəyişdirilməsini dəstəkləyir. PDF fayllarını mətn və digər fayl formatlarına çevirmək də mümkündür.
Python Skriptlərindən istifadə edərək bir neçə PDF faylını birləşdirin
Yeni PDF faylı yaratmaq üçün müxtəlif PDF sənədlərini birləşdirməyin tələb olunduğu bir vəziyyətdə olmusunuzmu? Təşkilatlar tez-tez birdən çox PDF faylını bir sənəddə birləşdirməyi tələb edir. PDFsuite kitabxanası istifadəçilərinə bir neçə PDF sənədini cəmi bir neçə sətir Python kodu ilə vahid sənəddə birləşdirməyi asanlaşdırır. O, həmçinin hər bir komponent faylı üçün məzmun cədvəlini əlavə edir. Kitabxana həmçinin böyük PDF sənədlərini Python proqramları daxilində daha kiçik sənədlərə bölməyi tam dəstəkləyir.
Python API vasitəsilə birdən çox PDF faylını birləşdirin
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)
Python vasitəsilə PDF fayllarını mətn faylına çevirin
Açıq mənbəli PDFsuite kitabxanası PDF sənədlərinin çoxsaylı dəstək fayl formatlarına çevrilməsi üçün bir neçə vacib funksiyanı özündə birləşdirir. Mühüm xüsusiyyətlərdən biri PDF faylının mətn məzmununu xarici mətn faylına çevirmək və onu seçdiyiniz yerə saxlamaqdır. PDF sənədlərinin hər səhifəsini ayrıca fayl kimi saxlamaq və başqa adla saxlamaq da mümkündür.
Python API vasitəsilə PDF sənədlərini mətn faylına çevirin
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()
Python Tətbiqlərində PDF-ləri və ya Səhifələri Döndürün, Kəsmə, Kəsmə
PDFsuite kitabxanasına PDF fayllarını asanlıqla idarə etmək üçün bir neçə vacib funksiya daxildir. O, proqramçılara öz Python proqramları daxilində PDF sənədlərini döndərməyə, kəsməyə, kəsməyə, rəngləməyə, su nişanına, miqyasına və yaxalamağa imkan verir. O, PDF səhifəsini və ya tam faylı fırlatmaq üçün iki yol təqdim edir. Birincisi, yeni PDF konteksti yaratmaq, orijinalın hər bir səhifəsini qrafik olaraq dəyişdirmək və faylı saxlamaqdır. İkincisi, sadəcə olaraq hər səhifədə "fırlanma" parametrini tənzimləməlisiniz və bu qədər.
Python API vasitəsilə PDF fayllarını necə kəsmək olar
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)