1. מוצרים
  2.   PDF
  3.   Python
  4.   PDFsuite
 
  

צור, ערוך והפוך PDF לתמונות דרך Python API

חינם Python API ליצירת, עריכה והמרה PDF לתמונות ולהיפך. מורג / פיצול להמיר PDF לטקסט, Rotate / Trim/Crop PDFs.

PDFsuite היא ספריית Python שימושית מאוד המספקת פונקציונליות מלאה הקשורה ליצירת מסמכים וניהול. הספריה יציבה מאוד וניתן לרוץ בקלות על MacOS (מתוך X). PDFsuite קל מאוד לשימוש ונותן למשתמשים את היכולת לנהל את PDF הקבצים שלהם וכל מה שהם יכולים לרצות לעשות ל-PDF הוא רק במרחק קליק.

הספרייה עשירה בתכונות, וכללה מספר תכונות חשובות הקשורות לטיפול במסמכים PDF כגון המרה PDF מסמכים, מיזוג או פיצול PDF מסמכים, המרת תמונות ל-PDF סיבובים, הוספת מספרי עמודים ל-PDF עמודים. תסריטי PDF הם קוד פתוח לחלוטין לשימוש בכל סוג של פרויקט ניתן להתאים בכל דרך.

Previous Next

להתחיל עם PDF

כדי להפעיל את חבילת ה- PDF תחילה עליך להתקין את Python 3 ואת ספריית pyobjc, ולאחר מכן בטרמינל בבקשה להקליד את הפקודה הבאה והחזרת העיתונות.

מתקן pyobjc דרך צינור

 pip3 install pyobjc 

PDF תמונות וצורות אחרות

ה- PDFsuite שילב פונקציונליות מלאה להמרת PDF מסמכים לפורמטים שונים של קבצי תמונה. הוא מספק פורמטים לא ממשלתיים, JPEG, דיפ ותמונות פופולריות אחרות. ניתן גם ליצור תמונת באטמן מכל עמוד של PDF המסמכים שסופקו בקלות. לאחר השלמת התהליך עליך להקצות שם נפרד לכל קובץ ולשמור אותו בדיסק. הוא גם תומך בשינוי הרזולוציה, השקיפות והפרמטרים האחרים. ניתן גם להמיר PDF קבצים לטקסט ולתבניות קבצים אחרות.

שילוב של PDF קבצים באמצעות Python Script

האם אי פעם היית במצב שבו זה נדרש לשלב PDF מסמכים שונים כדי ליצור קובץ PDF חדש? ארגונים לעתים קרובות דורשים מיזוג של PDF קבצים מרובים במסמך אחד. ספריית הסוויטה מאפשרת למשתמשים לשלב 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)
 עִברִית