1. Продукти
  2.   PDF
  3.   Python
  4.   PDFsuite
 
  

Створення, редагування та перетворення PDF на зображення через Python API

Безкоштовний Python API для створення, редагування та перетворення PDF на зображення та навпаки. Перетворення PDF в текст, Rotate /Trim / Crop PDFs.

PDFsuite — це дуже корисна бібліотека Python, яка надає повну функціональність, пов’язану зі створенням документів PDF і керуванням ними. Бібліотека дуже стабільна, її можна легко запускати на MacOS (OS X). PDFsuite дуже простий у використанні та надає користувачам можливість керувати своїми PDF-файлами, а все, що вони можуть захотіти зробити з PDF-файлом, – лише одним клацанням миші.

Бібліотека містить багато функцій і містить кілька важливих функцій, пов’язаних із обробкою PDF-документів, як-от перетворення PDF-документів у PDF, об’єднання або розділення PDF-документів, перетворення зображень у PDF, обертання PDF, додавання номерів сторінок у PDF, вставлення водяних знаків у PDF PDF-файли, малюйте графіку в PDF-файлах, застосовуйте кварцові фільтри до PDF-файлів, переглядайте та читайте метадані, експортуйте PDF-сторінки як зображення, підраховуйте сторінки в PDF-файлах і багато іншого. Сценарії PDFsuite є відкритим вихідним кодом, повністю безкоштовні для використання в будь-якому проекті та можуть бути адаптовані будь-яким способом.

Previous Next

Почати роботу з PDF

Для запуску PDFsuite спочатку потрібно встановити python 3 і бібліотеку pyobjc, а після цього в Терміналі необхідно ввести наступний командний ряд і натисніть кнопку Повернення.

Встановлення pyobjc через pip

 pip3 install pyobjc 

Також можна встановити бібліотеку вручну; завантажте файли останньої версії безпосередньо зі сховища GitHub.

Перетворення PDF в Image & Інші формати

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()

Rotate, Trim, Crop PDFs або сторінки на Python додатки

Бібліотека 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)
 Українська