Създаване, редактиране и конвертиране на PDF в изображения чрез Python API
Free Python API за създаване, редактиране и конвертиране на PDF изображения и обратно. Сливане / разделяне конвертиране PDF в текст, Rotate / Trim/Crop PDFs.
PDFsuite е много полезна Python библиотека, която осигурява пълна функционалност, свързана със създаването и управлението на PDF документа. Библиотеката е много стабилна и може лесно да се управлява на MacOS (от Х). PDFsuite е много лесен за използване и дава възможност на потребителите да управляват своите PDF файла и всичко, което биха могли да направят на PDF е само едно кликване.
Библиотеката е много богата на функции и е включила няколко важни функции, свързани с обработката на документи от PDF документа, сливането или разделянето на PDF страници, конвертирането на изображения до PDF, PDF ротация на страници. PDFsuite скриптовете са с отворен код, напълно безплатни за използване във всеки вид проект и могат да бъдат адаптирани по всякакъв начин.
Започнете с 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)