1. Məhsullar
  2.   PDF
  3.   Python
  4.   PDFsuite
 
  

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.

Previous Next

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)
 Azəri