Manajemen Dokumen Inti
Manajemen Dokumen Inti
Kelas Document adalah titik masuk utama untuk Aspose.PDF FOSS untuk .NET.
Ini mengimplementasikan IDisposable dan harus digunakan dalam blok using untuk memastikan
semua sumber daya dilepaskan dengan cepat.
Membuat dokumen PDF baru
Gunakan Document.Create() untuk membuat dokumen PDF kosong:
using Aspose.Pdf;
using var doc = Document.Create();
doc.Pages.Add();
doc.Save("new-document.pdf");Sebagai alternatif, buat instance Document secara langsung dengan new Document():
using Aspose.Pdf;
using var doc = new Document();
doc.Pages.Add();
doc.Save("new-document.pdf");Membuka dokumen PDF yang ada
Document.Open menerima sebuah byte[], sebuah jalur file string, atau sebuah Stream.
Buka dari array byte:
using Aspose.Pdf;
byte[] data = File.ReadAllBytes("input.pdf");
using var doc = Document.Open(data);
Console.WriteLine($"Pages: {doc.Pages.Count}");Buka dari jalur file:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
Console.WriteLine($"Pages: {doc.Pages.Count}");Buka dari Stream:
using Aspose.Pdf;
using var stream = File.OpenRead("input.pdf");
using var doc = Document.Open(stream);
Console.WriteLine($"Pages: {doc.Pages.Count}");Membuka PDF yang dilindungi kata sandi
Berikan kata sandi sebagai argumen kedua ke overload Document.Open mana pun:
using Aspose.Pdf;
using var doc = Document.Open("protected.pdf", "mypassword");Menyimpan dokumen
Document.Save menulis dokumen saat ini ke jalur file atau aliran.Document.ToArray mengembalikan byte yang diserialisasi secara langsung.
Simpan ke file:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
doc.Pages.Add();
doc.Save("output.pdf");Simpan perjalanan bolak‑balik ke MemoryStream (dari 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());Serialisasi ke array byte:
using Aspose.Pdf;
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
var bytes = doc.ToArray();
File.WriteAllBytes("output.pdf", bytes);Mengakses halaman
Halaman diakses melalui Document.Pages, yang merupakan PageCollection berbasis 1.
Gunakan indeks integer untuk mendapatkan Page tertentu:
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}");Mengakses formulir
Bidang AcroForm interaktif tersedia melalui Document.Form. Periksa null sebelum mengakses ketika dokumen mungkin tidak berisi formulir:
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}");
}
}Membuang dokumen
Document mengimplementasikan IDisposable. Selalu gunakan using atau panggil Dispose() secara eksplisit:
using Aspose.Pdf;
using var doc = Document.Open("input.pdf");
// doc is disposed automatically at the end of the using block.