สร้างแก้ไขและแปลง PDF เป็นรูปภาพผ่าน Python API

Python API ฟรีสําหรับการสร้างแก้ไขและแปลง PDF เป็นภาพและในทางกลับกัน ผสาน / แยกและแปลง PDF เป็นข้อความหมุน / Trim / วาง PDFs

PDFsuite เป็นห้องสมุด Python ที่มีประโยชน์มากซึ่งให้ฟังก์ชันการทํางานที่สมบูรณ์ที่เกี่ยวข้องกับการสร้างและการจัดการเอกสาร PDF ห้องสมุดมีเสถียรภาพมากและสามารถทํางานได้อย่างง่ายดายบน MacOS (Of X) PDFsuite ใช้งานง่ายมากและช่วยให้ผู้ใช้สามารถจัดการไฟล์ PDF ไฟล์และทุกอย่างที่พวกเขาอาจต้องการทํา PDF ได้เพียงแค่คลิก

ไลบรารีมีคุณลักษณะมากมายและได้รวมคุณสมบัติที่สําคัญหลายประการที่เกี่ยวข้องกับการจัดการเอกสาร PDF รายการเช่นการแปลงเอกสาร PDF รายการเพื่อรวมหรือแยกเอกสาร PDF รายการแปลงภาพเป็น PDF, การหมุน PDF รายการ สคริปต์ PDFsuite เป็นโอเพ่นซอร์สฟรีสําหรับการใช้งานในโครงการใด ๆ และสามารถปรับเปลี่ยนได้ในทุกวิถีทาง

Previous Next

เริ่มต้นใช้งาน PDFsuite

ในการเรียกใช้ PDFsuite แรกที่คุณต้องติดตั้งหลาม 3 และห้องสมุด pyobjc และหลังจากนั้นในเทอร์มินัลโปรดพิมพ์คําสั่งต่อไปนี้และกดกลับ

ติดตั้ง pyobjc ผ่านท่อ

 pip3 install pyobjc 

นอกจากนี้ยังสามารถติดตั้งไลบรารีด้วยตนเองได้ ดาวน์โหลดไฟล์รุ่นล่าสุดโดยตรงจากที่เก็บ GitHub

แปลง PDF เป็นรูปภาพ & รูปแบบอื่น ๆ

PDFsuite ได้รวมฟังก์ชั่นที่สมบูรณ์สําหรับการแปลง PDF เอกสารไปยังรูปแบบไฟล์ภาพต่างๆ ให้ NG, JPEG, Diff และรูปแบบไฟล์ภาพยอดนิยมอื่น ๆ นอกจากนี้ยังเป็นไปได้ที่จะสร้างภาพแบทแมนจากแต่ละหน้าของเอกสารที่ให้ไว้ PDF ได้อย่างง่ายดาย เมื่อกระบวนการเสร็จสมบูรณ์คุณจะต้องกําหนดชื่อแยกต่างหากในแต่ละไฟล์และบันทึกไว้ในดิสก์ นอกจากนี้ยังสนับสนุนการเปลี่ยนแปลงความละเอียดความโปร่งใสและพารามิเตอร์อื่น ๆ นอกจากนี้ยังเป็นไปได้ในการแปลงไฟล์ PDF เป็นข้อความและรูปแบบไฟล์อื่น ๆ

รวมหลาย PDF ไฟล์โดยใช้สคริปต์ Python

คุณเคยอยู่ในสถานการณ์ที่จําเป็นต้องรวมเอกสาร PDF ที่แตกต่างกันเพื่อสร้างไฟล์ PDF ใหม่หรือไม่? องค์กรมักจะต้องรวมไฟล์ PDF หลายไฟล์ไว้ในเอกสารเดียว ไลบรารี PDFsuite ทําให้ผู้ใช้สามารถรวมเอกสาร PDF รายการเข้าด้วยกันได้อย่างง่ายดายด้วยรหัส Python สองบรรทัด นอกจากนี้ยังเพิ่มตารางรายการเนื้อหาสําหรับแต่ละไฟล์องค์ประกอบ ห้องสมุดยังสนับสนุนการแยกเอกสารขนาดใหญ่ PDF เป็นไฟล์ขนาดเล็กภายในแอป Python

ผสานหลาย PDF ไฟล์ผ่าน 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)

แปลงไฟล์ PDF เป็นไฟล์ข้อความผ่าน Python

ห้องสมุดแบบเปิด PDFsuite ได้รวมคุณสมบัติที่สําคัญหลายประการสําหรับการแปลงเอกสาร PDF รูปแบบไฟล์การสนับสนุนมากมาย คุณสมบัติที่สําคัญอย่างหนึ่งคือการแปลงเนื้อหาข้อความของ PDF ไฟล์เป็นไฟล์ข้อความภายนอกและบันทึกไว้ในสถานที่ที่คุณเลือก นอกจากนี้ยังเป็นไปได้ที่จะบันทึกแต่ละหน้าของ PDF เอกสารเป็นไฟล์แยกต่างหากและบันทึกด้วยชื่อที่แตกต่างกัน

แปลง PDF เอกสารเป็นไฟล์ข้อความผ่าน 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()

หมุน, ตัด, ตัด PDFs หรือหน้าในปาย

ไลบรารี PDFsuite ได้รวมฟังก์ชั่นที่สําคัญหลายสําหรับการจัดการได้อย่างง่ายดาย PDF ไฟล์. ช่วยให้โปรแกรมเมอร์สามารถหมุนตัดแต่งตัดแต่งสีลายน้ําขนาดและเพิ่มเอกสาร PDF ภายในแอปพลิเคชัน Python ของตัวเอง มันมีสองวิธีในการหมุนหน้า PDF หรือไฟล์ที่สมบูรณ์ ครั้งแรกคือการสร้างบริบท PDF ใหม่แปลงกราฟิกแต่ละหน้าของต้นฉบับและบันทึกไฟล์ ประการที่สองคุณเพียงแค่ต้องปรับพารามิเตอร์ 'การหมุน' ในแต่ละหน้าและนั่นคือ

 

วิธีการตัดไฟล์ PDF ผ่าน 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)
 ไทย