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

ספריית Python בקוד פתוח לעיבוד קבצי PDF

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

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

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

.

Previous Next

תחילת העבודה עם PikePDF

PikePDF דורש Python 3.6 ומעלה. אתה יכול להתקין את PikePDF באמצעות pip. אנא השתמש בפקודה הבאה כדי להתקין אותו.

התקן את PikePDF באמצעות pip

 pip install pikepdf

העתק דפים מ-PDF אחד לאחר באמצעות Python

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

פתח ופעל מסמכי PDF באמצעות Python

 # PDF Documents Manipulation 
  from pikepdf import Pdf
  new_pdf = Pdf.new()
  with Pdf.open('sample.pdf') as pdf:
    pdf.save('output.pdf') 
   # Copying pages from other PDFs
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  appendix = Pdf.open('../tests/resources/sandwich.pdf')
  pdf.pages.extend(appendix.pages)

פיצול ומיזוג PDF באמצעות Python

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

פיצול ומיזוג מסמכי PDF באמצעות Python

 # PDF Splitting
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  for n, page in enumerate(pdf.pages):
  dst = Pdf.new()
  dst.pages.append(page)
  dst.save(f'{n:02d}.pdf')
  # Combine Multiple PDF pages into a single One
  from glob import glob
  pdf = Pdf.new()
  for file in glob('*.pdf'):
  src = Pdf.open(file)
  pdf.pages.extend(src.pages)
  pdf.save('merged.pdf')

נהל תמונות בתוך מסמך PDF באמצעות Python

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

חלץ תמונה והחלף אותה ב-PDF באמצעות Python

 # Extract Image & Replace PDF Images
  import zlib
  rawimage = pdfimage.obj
  pillowimage = pdfimage.as_pil_image()
  greyscale = pillowimage.convert('L')
  greyscale = greyscale.resize((32, 32))
  rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
  rawimage.ColorSpace = Name("/DeviceGray")
  rawimage.Width, rawimage.Height = 32, 32

טיפול במטא נתונים של PDF באמצעות Python

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

כיצד לחלץ מטא נתונים של PDF באמצעות Python

 # Extract PDF Metadata
  import pikepdf
  import sys
  # get the target pdf file from the command-line arguments
  pdf_filename = sys.argv[1]
  # read the pdf file
  pdf = pikepdf.Pdf.open(pdf_filename)
  docinfo = pdf.docinfo
  for key, value in docinfo.items():
    print(key, ":", value)
 עִברִית