إدارة المستندات الأساسية
إدارة المستندات الأساسية
الفئة Document هي نقطة الدخول الرئيسية لـ Aspose.PDF FOSS لـ .NET.
تقوم بتنفيذ IDisposable ويجب استخدامها في كتلة using لضمان تحرير جميع الموارد على الفور.
إنشاء مستند PDF جديد
استخدم Document.Create() لإنشاء مستند PDF فارغ:
using Aspose.Pdf;
using var doc = Document.Create();
doc.Pages.Add();
doc.Save("new-document.pdf");بدلاً من ذلك، قم بإنشاء مثيل Document مباشرةً باستخدام new Document():
using Aspose.Pdf;
using var doc = new Document();
doc.Pages.Add();
doc.Save("new-document.pdf");فتح مستند PDF موجود
Document.Open يقبل byte[]، مسار ملف string، أو Stream.
فتح من مصفوفة بايت:
using Aspose.Pdf;
byte[] data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
Console.WriteLine($"Pages: {doc.Pages.Count}");فتح من مسار ملف:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
Console.WriteLine($"Pages: {doc.Pages.Count}");فتح من Stream:
using Aspose.Pdf;
using var stream = File.OpenRead("input.pdf");
using var doc = Document.Open(stream);
Console.WriteLine($"Pages: {doc.Pages.Count}");فتح ملف PDF محمي بكلمة مرور
مرّر كلمة المرور كمعامل ثانٍ إلى أي تحميل زائد Document.Open:
using Aspose.Pdf;
using var doc = Document.Open("protected.pdf", "mypassword");حفظ مستند
Document.Save يكتب المستند الحالي إلى مسار ملف أو تدفق.Document.ToArray يُعيد البايتات المتسلسلة مباشرة.
احفظ إلى ملف:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
doc.Pages.Add();
doc.Save("output.pdf");احفظ الجولة الكاملة إلى MemoryStream (من snippet_014.cs):
using Aspose.Pdf;
var data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
var page = doc.Pages[1];
var action = PdfAction.CreateJavaScript("app.alert('Round trip');");
page.Annotations.AddLinkAnnotation(new Rectangle(50, 600, 200, 620), action);
using var ms = new MemoryStream();
doc.Save(ms);
ms.Position = 0;
using var doc2 = Document.Open(ms.ToArray());تسلسل إلى مصفوفة بايت:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var bytes = doc.ToArray();
File.WriteAllBytes("output.pdf", bytes);الوصول إلى الصفحات
يتم الوصول إلى الصفحات عبر Document.Pages، وهو PageCollection يبدأ من 1. استخدم الفهرس الصحيح للحصول على Page محدد:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var page = doc.Pages[1];
Console.WriteLine($"Width: {page.Width}, Height: {page.Height}");
Console.WriteLine($"Rotation: {page.RotateDegrees}");
Console.WriteLine($"Annotations: {page.Annotations.Count}");الوصول إلى النموذج
حقول AcroForm التفاعلية متاحة عبر Document.Form. تحقق من null قبل الوصول عندما قد لا يحتوي المستند على نموذج:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("form.pdf"));
if (doc.Form is not null)
{
foreach (var field in doc.Form.Fields)
{
Console.WriteLine($"{field.Name}: {field.Value}");
}
}تحرير المستند
Document ينفّذ IDisposable. يجب دائمًا استخدام using أو استدعاء Dispose() صراحةً:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
// doc is disposed automatically at the end of the using block.