مدیریت اسناد اصلی
مدیریت اسناد اصلی
کلاس 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 محافظتشده با رمز عبور
رمز عبور را به عنوان آرگومان دوم به هر overload 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}");دسترسی به فرم
فیلدهای Interactive 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.