ניהול מסמכים

ניהול מסמכים

ניהול מסמכים

Document הוא האובייקט השורש ב‑Aspose.PDF FOSS עבור .NET. הוא מייצג
קובץ PDF שלם ומספק גישה לעמודים, מטא‑נתונים, שדות טופס, ולכל
המבנים האחרים של PDF. פתח קבצים קיימים עם Document.Open וצור חדשים
עם הקונסטרוקטור Document.


פתיחה ויצירת מסמכים

// Open from a byte array
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));

// Open from a file path
using var doc2 = new Document("input.pdf");

// Create a new empty document
using var newDoc = new Document();
newDoc.Pages.Add();
newDoc.Save("new.pdf");

עבודה עם דפים

PageCollection מנהל את העמודים של המסמך. ניתן לגשת לעמודים לפי אינדקס מבוסס 1, להוסיף עמודים חדשים או להסיר קיימים.

using var doc = Document.Open(pdfBytes);

// Access first page
var page = doc.Pages[1];

// Add a blank page
var newPage = doc.Pages.Add();

// Get page count
int count = doc.Pages.Count;

גיאומטריית דף

כל דף מגדיר מספר תיבות גבול. השתמש בשיטות ה‑setter על Page כדי להתאים אותן.

var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);

שמירת מסמכים

שמור לנתיב קובץ, לזרם או למערך בתים.

// Save to file
doc.Save("output.pdf");

// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);

קבצים מצורפים

FileSpecification מייצג קבצים מצורפים משובצים ב-PDF.

var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);

חותמות תמונה

ImageStamp מציב תמונת רסטר על דף במיקום שצוין.

var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");

אוספי מפעילים

OperatorCollection בכל דף מחזיק במפעילי זרם התוכן הגולמי. השתמש בו לבחינה או מניפולציה של תוכן ברמה נמוכה.

var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
    // Inspect each operator
}

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

  • עטוף את Document בהצהרת using כדי לשחרר מידית את ידיות הקבצים.
  • השתמש בDocument.Open(byte[]) עבור זרימות עבודה בזיכרון כדי למנוע בעיות נעילת קבצים.
  • שנה את תיבות העמוד (MediaBox, CropBox) לפני הוספת תוכן כדי להבטיח מרחב קואורדינטות נכון.
  • קרא לSave רק פעם אחת לאחר כל השינויים — שמירות חוזרות איטיות יותר אך בטוחות.
  • השתמש בPageCollection.Accept(AnnotationSelector) לעיבוד קבוצתי של ההערות בכל העמודים.

בעיות נפוצות

IssueCauseFix
Document.Open זורק שגיאה על PDF תקיןהקובץ מוצפן עם סיסמהספק את פרמטר הסיסמה בבונה
ספירת העמודים היא 0 לאחר הבנייהDocument() החדש מתחיל ריקקרא ל‑doc.Pages.Add() כדי להוסיף עמוד ריק
הקובץ השמור גדול יותר מהצפויתמונות או גופנים משובצים מספר פעמיםהשתמש באופטימיזציה (ראה מדריך המרה ואופטימיזציה)
Pages[0] זורק שגיאת אינדקסהעמודים ממוספרים מ‑1, לא מ‑0השתמש ב‑Pages[1] עבור העמוד הראשון

שאלות נפוצות

איך למזג שני מסמכי PDF?

השתמש בPdfFileEditor.Concatenate מ‑API של Facades, או העתק ידנית דפים ממסמך אחד לאחר באמצעות PageCollection.

האם ניתן לפתוח PDF מכתובת URL או מזרם?

כן. קרא את תוכן ה-URL לתוך byte[] תחילה, ואז העבר אותו ל Document.Open(byte[]).

איך אני מוחק דף?

קרא doc.Pages.Delete(pageNumber) כאשר pageNumber הוא מבוסס על 1.

האם Document בטוח לשימוש מרובה‑תהליכים?

לא. כל חוט צריך לעבוד עם המופע שלו של Document.


סיכום התיעוד של API

Class / MethodDescription
Documentאובייקט PDF ראשי; מכיל דפים, מטא-נתונים ושדות טופס
Document.Openמתקן סטטי לפתיחת PDF ממערך בתים
Document.Saveסיריאליזציה של המסמך לקובץ או זרם
Pageדף PDF יחיד עם תוכן, הערות וגאומטריה
Page.SetMediaBoxהגדרת תיבת המדיה של הדף
Page.SetCropBoxהגדרת אזור החיתוך הגלוי
Page.SetRotationסיבוב הדף ב-0, 90, 180 או 270 מעלות
PageCollectionאוסף מסודר של דפים במסמך
PageCollection.Addהוספת דף ריק
OperatorCollectionאופרטורים גולמיים של זרם תוכן לדף
FileSpecificationמתאר קובץ מצורף משובץ
ImageStampחותמת שכבת על תמונה לדפים
XFormCollectionXObjects של טופס לשימוש חוזר במסמך

ראה גם

 עברית