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

Създаване, редактиране и конвертиране на PDF в изображения чрез Python API

Free Python API за създаване, редактиране и конвертиране на PDF изображения и обратно. Сливане / разделяне конвертиране PDF в текст, Rotate / Trim/Crop PDFs.

PDFsuite е много полезна Python библиотека, която осигурява пълна функционалност, свързана със създаването и управлението на PDF документа. Библиотеката е много стабилна и може лесно да се управлява на MacOS (от Х). PDFsuite е много лесен за използване и дава възможност на потребителите да управляват своите PDF файла и всичко, което биха могли да направят на PDF е само едно кликване.

Библиотеката е много богата на функции и е включила няколко важни функции, свързани с обработката на документи от PDF документа, сливането или разделянето на PDF страници, конвертирането на изображения до PDF, PDF ротация на страници. PDFsuite скриптовете са с отворен код, напълно безплатни за използване във всеки вид проект и могат да бъдат адаптирани по всякакъв начин.

Previous Next

Започнете с PDF

За да стартирате PDFsuite първо трябва да инсталирате python 3 и pyobjc библиотеката, а след това в терминала въведете следната команда и натиснете Return.

Инсталиране на pyobjc чрез пип

 pip3 install pyobjc 

Също така е възможно библиотеката да се инсталира ръчно; изтеглете файловете с най-новата версия директно от хранилището на GitHub.

Превърнете PDF в изображение и други формати

PDFsuite е интегрирала пълна функционалност за конвертиране на PDF документа в различни файлови формати на изображения. Тя осигурява NG, JPEG, Diff и други популярни файлови формати. Също така е възможно да се създаде изображение на батман от всяка страница на предоставените PDF документа с лекота. След като процесът приключи, трябва да зададете отделно име на всеки файл и да го запишете на диска. Той също така подкрепя промяната на резолюцията, прозрачността и други параметри. Също така е възможно да конвертирате PDF файла в текст и други файлови формати.

Комбинирайте множество PDF файла с Python Scripts

Били ли сте някога в ситуация, в която е необходимо да комбинирате различни 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()

Ротат, трим, 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)
 Български