Aspose.PDF FOSS for Python תכונות

Aspose.PDF FOSS for Python תכונות

Aspose.PDF קוד פתוח עבור Python מאפיינים

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


ניהול מסמכים ועמודים

Document הוא האובייקט השורש לכל פעולה. בנה אותו ללא ארגומנטים כדי להתחיל מסמך חדש וריק, או קרא ל-load_from() כדי לקרוא קיים מנתיב, בתים או זרם. document.pages חושף את ה-PageCollection שניתן לשינוי, ו-Page.add_text מניח טקסט ממוקם על דף.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
page.add_text("Hello from Aspose.PDF FOSS!", x=72, y=720, font_size=18)
document.save("hello.pdf")

חילוץ טקסט וחיפוש

PdfExtractor נקשר למסמך ומוציא טקסט עמוד אחרי עמוד. bind_pdf() פותח את המקור, extract_text() מבצע את החילוץ, ו-get_text() מחזיר את התוצאה המצטברת.

from aspose_pdf import PdfExtractor

extractor = PdfExtractor()
extractor.bind_pdf("hello.pdf")
extractor.extract_text()
print(extractor.get_text())
extractor.close()

לחיפוש והחלפה ממוקמים, לפי פיסת טקסט, TextFragmentAbsorber חושף עצמים TextFragment תואמים עם text_search_options שמווסת רגישות לאותיות והתאמת ביטויים רגולריים.


המרת דפים לתמונות

Document.save_page_as_image ממיר עמוד אחד ישירות לקובץ PNG או TIFF ברזולוציית DPI שניתן להגדיר. לגישה ברמת נמוכה יותר, Page.render מחזיר RasterizedPage עם נתוני פיקסלים גולמיים דרך get_pixel() ו-pixels.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.save_page_as_image(0, "page-1.png", dpi=150)

טפסים ושדות אינטראקטיביים

AcroForm שדות מנוהלים דרך Document.form, חזות Form. Form.add_text_field() (וְתיבות הסימון, כפתורי הרדיו, הרשימות ותיבות המשולבות המקבילות) יוצר שדה חדש הקשור לעמוד ולריבוע וידג’ט, ומחזיר Field. Form.fields מציג את כל השדות הקיימים כעת במסמך.

from aspose_pdf import Document

document = Document()
page = document.pages.add()
document.form.add_text_field("customer_name", page, (72, 700, 300, 720))

for field in document.form.fields:
    print(field.name, field.field_type)

document.save("form.pdf")

אבטחה, הצפנה וחתימות

Document.encrypt מגן על מסמך באמצעות סיסמת משתמש (נדרשת לפתיחה) וסיסמת בעלים (נדרשת לשינוי הרשאות); decrypt() ו-change_passwords() מנהלים את ההגנה על מסמך שכבר פתוח. is_encrypted מדווח על המצב הנוכחי.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")
document.encrypt(user_password="secret", owner_password="owner-secret")
document.save("encrypted.pdf")

אימות חתימה דיגיטלית מנוהל על ידי PdfSignature.validate, שמחזיר ValidationResult המתאר את אמון ומצב הביטול, ו-SigningUtils מספק עזרי תעודה וחתימה בפורמט PKCS#7/CAdES.


PDF/A ו-PDF/UA תאימות

Document.validate_pdfa מבצע בדיקת תאימות היוריסטית PDF/A ומחזיר PdfAValidationResult; convert_to_pdfa() מנסה לתקן את המסמך לרמה זו. validate_pdfua() ו-auto_tag() מספקים את בדיקת הנגישות המקבילה ותיוג אוטומטי של עץ המבנה עבור PDF/UA.

from aspose_pdf import Document

document = Document()
document.load_from("hello.pdf")

result = document.validate_pdfa("1b")
if not result.is_valid:
    document.convert_to_pdfa("1b")

document.auto_tag()
document.save("compliant.pdf")

טיפים ושיטות מומלצות

  • שנה את האובייקט המוחזר ישירות על ידי document.pages, page.annotations או document.form — עריכות שנעשו על עותק נפרד של עמוד או שדה אינן משתקפות כאשר אתה קורא ל-save().
  • PageCollection מתועד במערך שמתחיל מאינדקס אפס בקישור Python זה (document.pages[0] הוא העמוד הראשון).
  • תפוס את InvalidPasswordException ו-PdfParseException לפני ה-AsposePdfException הרחב יותר בעת קריאה ל-load_from() על קלט בלתי מהימן, כך שתוכל להגיב בצורה שונה לסיסמה שגויה מאשר לקובץ פגום.
  • קרא ל-document.optimize() או ל-compress_streams() לפני save() במסמכים שעברו עריכות מרובות כדי להסיר משאבים שלא בשימוש ולהקטין את גודל הקובץ.
  • העבר PdfLoadLimits מוגבל ל-load_from() בעת עיבוד קבצי PDF ממקור בלתי מהימן, כדי להגביל את השימוש בזיכרון ואת מספר האובייקטים במהלך הפירוש.

בעיות נפוצות

בעיהסיבהפתרון
save() מייצר קובץ עם עריכות שלא השתנובוצעו עריכות לעמוד, הערה או העתק שדה במקום לאובייקט שהתקבל מ-document.pages, annotations או formשנה את האובייקט שהוחזר ישירות על ידי אותם האוספים
InvalidPasswordException על load_from()המסמך מוגן בסיסמה ולא סופקה סיסמה, או שסופקה סיסמה שגויההזן את הסיסמה הנכונה: document.load_from(path, password="...")
validate_pdfa() עדיין מדווח על שגיאת גופן לאחר convert_to_pdfa()לא נמצא קובץ גופן תואם בfont_lookup_directory שסופקהוסף את הגופן החסר לתיקיית החיפוש, או רשום אותו עם FontRepository לפני ההמרה
התמונה המיוצרת נראית ריקהאינדקס דף שגוי נמסר לsave_page_as_image() או לrender()pages מתחיל מאפס — אשר את האינדקס, ובדוק האם PdfExtractor מחזיר טקסט עבור דף זה בכלל
השדה שנוסף באמצעות Form.add_text_field() אינו מופיע על העמודריבוע הווידג’ט נמצא מחוץ לmedia_box של העמודאשר שהקואורדינטות של הריבוע נמצאות בתוך Page.media_box

FAQ

האם Aspose.PDF FOSS עבור Python תלוי במנוע PDF מסחרי?

לא. זהו מנוע PDF שנבנה מאפס, pure-Python, שפורסם תחת רישיון MIT. התלויות בזמן ריצה היחידות שלו הן cryptography ו-asn1crypto, המשמשים להצפנה ולאימות חתימות.

האם אני יכול ליצור קובץ PDF מאפס במקום לפתוח קיים?

כן. Document() ללא ארגומנטים יוצר מסמך ריק בזיכרון; קרא ל-document.pages.add() כדי להוסיף דפים לפני השמירה.

לאילו פורמטים רסטריים ניתן לרינדור דף?

Page.render ו-Document.save_page_as_image מייצרים פלט רסטרי PNG או TIFF; ה-RasterizedPage המוחזר גם חושף נתוני פיקסלים גולמיים דרך get_pixel() והמאפיין pixels.

איזו חריגה עליי לתפוס עבור שגיאות ספציפיות לחבילה?

תפוס AsposePdfException. כל שגיאה ספציפית לחבילה — כולל ניתוח (PdfParseException), סיסמה והצפנה (PdfSecurityException, InvalidPasswordException), וכשלי אימות (PdfValidationException) — נובעת ממנה.

לאן אני הולך הלאה?

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


API Reference סיכום

מחלקה/מתודהתיאור
Documentאובייקט השורש — יצירה, טעינה, שמירה וניהול של PDF
Document.pagesה-PageCollection הניתן לשינוי של המסמך
Document.load_from / Document.saveקרא מ-או כתוב לנתיב, בתים או זרם
Document.encrypt / Document.decryptהגן באמצעות סיסמה או הסר את ההגנה
Document.validate_pdfa / Document.convert_to_pdfaבדיקת ציות היוריסטית של PDF/A והמרה
Document.validate_pdfua() / Document.auto_tagבדיקת נגישות של PDF/UA ותיוג אוטומטי של המבנה
Page.add_textהוסף טקסט ממוקם לדף
Page.renderהצג דף ל-RasterizedPage
PdfExtractorחלץ טקסט דף וקבצים מצורפים משובצים
PdfFileEditorצור חיבור, פצל, הכנס ומחק דפים בין קבצים
Form / Fieldמכולת AcroForm ושדות טופס בודדים
PdfSignature / SigningUtilsאימות ויצירת חתימה דיגיטלית
AsposePdfExceptionמחלקה בסיסית לכל חריגה ספציפית לחבילה

ראה גם

 עברית