Referensi Opsi Konfigurasi

Referensi Opsi Konfigurasi

Referensi Opsi Konfigurasi

Sebagian besar operasi pemuatan, penyimpanan, dan konversi dalam Aspose.PDF FOSS untuk .NET menerima sebuah *Options objek yang mengonfigurasi perilaku operasi tersebut. LoadOptions and SaveOptions adalah dua akar abstrak dari keluarga ini: setiap pemuat spesifik format (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) diturunkan dari LoadOptions, dan setiap penulis spesifik format (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) diturunkan dari SaveOptions. Halaman ini menjelaskan bagaimana keluarga ini terhubung dan mendokumentasikan kelas opsi yang belum tercakup oleh Konversi dan Optimisasi panduan.


Memuat Dokumen dengan LoadOptions

Setiap subclass *LoadOptions berbagi WarningHandler, WarningHandlerName, DisableFontLicenseVerifications, dan LoadFormat dari kelas dasar LoadOptions, kemudian menambahkan properti yang spesifik untuk format sumbernya.

// HTML: resolve relative images/CSS against a base path
var htmlOptions = new HtmlLoadOptions("assets/");
htmlOptions.IsEmbedFonts = true;
using var htmlDoc = new Document("input.html", htmlOptions);

// Markdown: apply custom CSS while rendering to PDF
var mdOptions = new MdLoadOptions();
mdOptions.CssStyles = "body { font-family: sans-serif; }";
using var mdDoc = new Document("input.md", mdOptions);

// Plain text: control the rendered font size
var txtOptions = new TxtLoadOptions();
txtOptions.FontSize = 11;
using var txtDoc = Document.Open("input.txt", txtOptions);

// SVG: let the page size follow the artwork dimensions
var svgOptions = new SvgLoadOptions();
svgOptions.AdjustPageSize = true;
using var svgDoc = new Document("input.svg", svgOptions);

Menyimpan ke PDF dengan PdfSaveOptions

PdfSaveOptions mengontrol penanganan font dan penempatan file sementara saat menulis kembali Document sebagai PDF. Ia mewarisi CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs, dan SaveFormat dari basis SaveOptions yang dibagikan.

using var doc = Document.Open("input.pdf");

var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";

doc.Save("output.pdf", pdfOptions);

Mengekspor ke HTML dan SVG

HtmlSaveOptions dan SvgSaveOptions keduanya diturunkan dari UnifiedSaveOptions. Selain kontrol gambar/font/tata letak yang dibahas dalam panduan konversi, HtmlSaveOptions juga memungkinkan Anda memilih varian dokumen dan strategi paginasi, sementara SvgSaveOptions sepenuhnya bergantung pada anggota SaveOptions/UnifiedSaveOptions yang diwarisi.

using var doc = Document.Open("input.pdf");

// Fixed-layout HTML5 output, split one file per page
var htmlOptions = new HtmlSaveOptions(HtmlDocumentType.Html5, fixedLayout: true);
htmlOptions.SplitIntoPages = true;
htmlOptions.ImageResolution = 150;
htmlOptions.Title = "Converted Document";
doc.Save("output.html", htmlOptions);

// SVG export configured through the shared SaveOptions members
var svgOptions = new SvgSaveOptions();
svgOptions.SaveFullPath = false;
doc.Save("output.svg", svgOptions);

Konversi Satu Langkah dengan Document.Convert

Document.Convert menerima LoadOptions sumber dan SaveOptions tujuan secara bersamaan dalam satu panggilan statis, sehingga Anda dapat mengonversi antar format tanpa harus membuka, mengonversi, dan membuang Document secara manual.

var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();

Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);

Opsi Ekstraksi Teks

TextExtractionOptions mengontrol cara TextAbsorber (dan TextDevice) memformat teks yang diekstrak, terlepas dari absorber atau kelas perangkat mana yang melakukan ekstraksi.

using var doc = Document.Open("input.pdf");

var extractionOptions = new TextExtractionOptions(TextFormattingMode.Raw);
extractionOptions.ScaleFactor = 1.0;
extractionOptions.IgnoreResourceFontErrors = true;

var absorber = new TextAbsorber(extractionOptions);
doc.Pages[1].Accept(absorber);

string text = absorber.Text;

Mengoptimalkan Output dengan OptimizationOptions

OptimizationOptions adalah mekanisme terpisah yang independen format untuk mengurangi ukuran file. Mekanisme ini diterapkan melalui Document.OptimizeResources, bukan melalui kelas *SaveOptions, sehingga dapat digabungkan dengan jalur penyimpanan apa pun.

using var doc = Document.Open("input.pdf");

var optimizationOptions = new OptimizationOptions();
optimizationOptions.RemoveUnusedObjects = true;
optimizationOptions.CompressObjects = true;
optimizationOptions.SubsetFonts = true;
optimizationOptions.ImageCompressionOptions.CompressImages = true;
optimizationOptions.ImageCompressionOptions.ImageQuality = 80;

doc.OptimizeResources(optimizationOptions);
doc.Save("optimized.pdf");

Tips dan Praktik Terbaik

  • Setiap subclass *LoadOptions dan *SaveOptions mewarisi WarningHandler/WarningHandlerName - atur keduanya bersama-sama untuk menangkap diagnostik yang dapat dipulihkan.
  • Lebih baik gunakan instance *LoadOptions/*SaveOptions yang spesifik format daripada mengandalkan inferensi format berbasis ekstensi, terutama saat bekerja dengan aliran alih-alih jalur file.
  • Gunakan Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions) untuk konversi satu kali alih-alih membuka dan menyimpan ulang Document secara manual.
  • OptimizationOptions bersifat independen dari keluarga *SaveOptions - panggil OptimizeResources sebelum Save untuk memperkecil output terlepas dari format target.
  • Gunakan kembali satu instance opsi pada beberapa dokumen ketika pengaturan yang sama berlaku, daripada membangun ulang setiap kali.

Masalah Umum

MasalahPenyebabPerbaikan
Jalur relatif image/CSS tidak terresolusi saat memuat HTMLHtmlLoadOptions.BasePath tidak pernah disetBerikan jalur dasar melalui konstruktor HtmlLoadOptions(basePath)
Format output yang salah dihasilkanSubclass *SaveOptions yang tidak cocok atau SaveFormat telah digunakan untuk ekstensi targetGunakan subclass *SaveOptions yang sesuai dengan format tujuan
OptimizeResources tidak mengurangi ukuran fileOptimizationOptions dibiarkan pada nilai default tanpa flag pengurangan diaktifkanSet secara eksplisit RemoveUnusedObjects, CompressObjects, dan SubsetFonts
Peringatan yang muncul selama proses memuat/menyimpan dibuang secara diam-diamWarningHandler diatur tanpa juga menyebutkan handlerAtur WarningHandler dan WarningHandlerName bersama-sama

FAQ

Apa perbedaan antara LoadOptions dan SaveOptions?

LoadOptions mengonfigurasi cara dokumen dibaca dari format sumber non-PDF (HTML, Markdown, teks, SVG); SaveOptions mengonfigurasi cara Document ditulis ke format output (PDF, HTML, SVG). Setiap kelas opsi spesifik format diturunkan dari tepat satu dari dua akar ini.

Apakah saya perlu menentukan LoadOptions saat membuka PDF asli?

Tidak. Document.Open dan konstruktor Document menerima jalur file biasa atau aliran untuk input PDF asli. Subkelas *LoadOptions hanya diperlukan saat mengimpor format sumber non-PDF seperti HTML, Markdown, teks, atau SVG.

Bisakah saya menggunakan kembali instance SaveOptions yang sama pada beberapa pemanggilan Save?

Ya. Sebuah instance opsi hanyalah objek konfigurasi biasa; ia tidak menyimpan status per-dokumen, sehingga instance PdfSaveOptions atau HtmlSaveOptions yang sama dapat diteruskan ke Save untuk beberapa dokumen yang berbagi pengaturan yang sama.

Bagaimana OptimizationOptions berbeda dari kelas SaveOptions yang spesifik untuk format?

OptimizationOptions dikonsumsi oleh Document.OptimizeResources, langkah terpisah dari proses penyimpanan. Ia menghapus objek/aliran yang tidak terpakai dan mengompresi ulang gambar di tempat, serta dapat diterapkan sebelum memanggil Save dengan subkelas *SaveOptions apa pun.

Apakah setiap format sumber/target memiliki kelas LoadOptions dan SaveOptions?

Tidak selalu simetris. Misalnya, Markdown dan teks biasa saat ini menyediakan MdLoadOptions/TxtLoadOptions untuk impor tetapi tidak ada pasangan *SaveOptions yang cocok, mencerminkan arah mana masing-masing format didukung untuk konversi.


API Reference Ringkasan

Kelas / MetodeDeskripsi
LoadOptionsKelas dasar untuk semua tipe opsi pemuatan dokumen
SaveOptionsKelas dasar untuk semua tipe opsi penyimpanan dokumen
HtmlLoadOptionsOpsi untuk mengimpor HTML sebagai dokumen PDF
MdLoadOptionsOpsi untuk mengimpor Markdown sebagai dokumen PDF
TxtLoadOptionsOpsi untuk mengimpor teks biasa sebagai dokumen PDF
SvgLoadOptionsOpsi untuk mengimpor SVG sebagai dokumen PDF
PdfSaveOptionsOpsi untuk menyimpan dokumen sebagai PDF
HtmlSaveOptionsOpsi untuk menyimpan dokumen sebagai HTML
SvgSaveOptionsOpsi untuk menyimpan dokumen sebagai SVG
UnifiedSaveOptionsBasis bersama untuk HtmlSaveOptions dan SvgSaveOptions
Document.ConvertKonversi satu langkah statis menggunakan pasangan LoadOptions/SaveOptions
TextExtractionOptionsKonfigurasi pemformatan untuk ekstraksi teks TextAbsorber
OptimizationOptionsPengaturan optimasi ukuran dokumen/sumber daya yang tidak bergantung pada format
Document.OptimizeResourcesMenerapkan instance OptimizationOptions ke sebuah dokumen

Lihat Juga

 Bahasa Indonesia