Referenční příručka konfiguračních možností
Reference konfiguračních možností
Většina operací načítání, ukládání a konverze v Aspose.PDF FOSS pro .NET přijímá *Options objekt, který konfiguruje chování této operace. LoadOptions and SaveOptions jsou dva abstraktní kořeny této rodiny: každý formátově specifický načítač (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) je odvozen od LoadOptions, a každý formátově specifický zapisovač (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) je odvozen od SaveOptions. Tato stránka vysvětluje, jak rodina zapadá dohromady, a dokumentuje třídy možností, které ještě nejsou pokryty Konverzí a optimalizací průvodce.
Načítání dokumentů s LoadOptions
Každá podtřída *LoadOptions sdílí WarningHandler, WarningHandlerName, DisableFontLicenseVerifications a LoadFormat ze základní třídy LoadOptions a poté přidává vlastnosti specifické pro svůj zdrojový formát.
// 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);Ukládání do PDF s PdfSaveOptions
PdfSaveOptions řídí zacházení s fonty a umístění dočasných souborů při zapisování Document zpět jako PDF. Dědí CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs a SaveFormat ze sdílené základny SaveOptions.
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);Exportování do HTML a SVG
HtmlSaveOptions a SvgSaveOptions oba pocházejí z UnifiedSaveOptions. Kromě ovládacích prvků pro obrázky/písma/layoutu, které jsou popsány v průvodci konverzí, HtmlSaveOptions vám také umožňuje vybrat typ dokumentu a strategii stránkování, zatímco SvgSaveOptions se zcela spoléhá na zděděné členy SaveOptions/UnifiedSaveOptions.
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);Jednokroková konverze pomocí Document.Convert
Document.Convert přijímá zdrojový LoadOptions a cílový SaveOptions najednou v jediné statické volání, takže můžete převádět mezi formáty bez nutnosti ručně otevírat, konvertovat a uvolňovat Document.
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);Možnosti extrakce textu
TextExtractionOptions řídí, jak TextAbsorber (a TextDevice) formátují extrahovaný text, nezávisle na tom, který absorpční nebo zařízení třída provádí extrakci.
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;Optimalizace výstupu pomocí OptimizationOptions
OptimizationOptions je samostatný, formátově nezávislý mechanismus pro zmenšení velikosti souboru. Používá se přes Document.OptimizeResources, nikoli přes třídu *SaveOptions, takže jej lze kombinovat s libovolnou cestou pro uložení.
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");Tipy a osvědčené postupy
- Každá podtřída
*LoadOptionsa*SaveOptionsdědíWarningHandler/WarningHandlerName– nastavte je oba společně, aby se zachytily obnovitelné diagnostické informace. - Upřednostněte instanci
*LoadOptions/*SaveOptionsspecifickou pro formát před spoleháním se na odhad formátu podle přípony, zejména při práci se streamy místo souborových cest. - Použijte
Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions)pro jednorázové konverze místo ručního otevření a opětovného uloženíDocument. OptimizationOptionsje nezávislý na rodině*SaveOptions– zavolejteOptimizeResourcespředSave, abyste zmenšili výstup bez ohledu na cílový formát.- Znovu použijte jedinou instanci možností napříč více dokumenty, pokud platí stejná nastavení, místo jejího každodenního znovuvytváření.
Běžné problémy
| Problém | Příčina | Oprava |
|---|---|---|
| Relativní cesty k obrázkům/CSS nejsou při načítání HTML rozpoznány. | HtmlLoadOptions.BasePath nebyl nikdy nastaven | Předávejte základní cestu prostřednictvím konstruktoru HtmlLoadOptions(basePath) |
| Vytvořen nesprávný výstupní formát | Byla použita neodpovídající podtřída *SaveOptions nebo SaveFormat pro cílovou příponu | Použijte podtřídu *SaveOptions, která odpovídá cílovému formátu |
OptimizeResources nezmenšuje velikost souboru | OptimizationOptions ponecháno v výchozím nastavení bez povolených příznaků pro snížení | Výslovně nastavte RemoveUnusedObjects, CompressObjects a SubsetFonts |
| Varování vyvolaná během načítání/ukládání jsou tiše zahozena | WarningHandler nastaveno bez pojmenování handleru | Nastavte WarningHandler a WarningHandlerName dohromady |
FAQ
Jaký je rozdíl mezi LoadOptions a SaveOptions?
LoadOptions konfiguruje, jak je dokument načítán z ne-PDF zdrojového formátu (HTML, Markdown, text, SVG); SaveOptions konfiguruje, jak je Document zapisován do výstupního formátu (PDF, HTML, SVG). Každá třída specifických možností pro formát dědí přesně z jednoho z těchto dvou kořenů.
Musím při otevírání nativního PDF zadat LoadOptions?
Ne. Document.Open a konstruktor Document přijímají jednoduchou cestu k souboru nebo stream pro nativní PDF vstup. Podtřídy *LoadOptions jsou vyžadovány pouze při importu ne-PDF zdrojového formátu, jako je HTML, Markdown, text nebo SVG.
Mohu znovu použít stejnou instanci SaveOptions napříč více voláními Save?
Ano. Instance možností je jen obyčejný konfigurační objekt; neobsahuje žádný stav specifický pro dokument, takže stejná instance PdfSaveOptions nebo HtmlSaveOptions může být předána Save pro několik dokumentů, které sdílejí stejné nastavení.
Jak se liší OptimizationOptions od formátově specifických tříd SaveOptions?
OptimizationOptions je spotřebován Document.OptimizeResources, což je samostatný krok od ukládání. Odstraňuje nepoužívané objekty/streamy a recomprimuje obrázky na místě a může být aplikován před voláním Save s libovolnou podtřídou *SaveOptions.
Má každý zdrojový/cílový formát jak třídu LoadOptions, tak třídu SaveOptions?
Není nutně symetrické. Například Markdown a prostý text v současnosti poskytují MdLoadOptions/TxtLoadOptions pro import, ale nemají odpovídající *SaveOptions protějšek, což odráží, v jakém směru je každý formát podporován pro konverzi.
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
LoadOptions | Základní třída pro všechny typy možností načítání dokumentu |
SaveOptions | Základní třída pro všechny typy možností ukládání dokumentu |
HtmlLoadOptions | Možnosti importu HTML jako PDF dokument |
MdLoadOptions | Možnosti importu Markdown jako PDF dokument |
TxtLoadOptions | Možnosti importu prostého textu jako PDF dokument |
SvgLoadOptions | Možnosti importu SVG jako PDF dokument |
PdfSaveOptions | Možnosti uložení dokumentu jako PDF |
HtmlSaveOptions | Možnosti uložení dokumentu jako HTML |
SvgSaveOptions | Možnosti uložení dokumentu jako SVG |
UnifiedSaveOptions | Sdílená základna pro HtmlSaveOptions a SvgSaveOptions |
Document.Convert | Statická jednoprostupová konverze pomocí páru LoadOptions/SaveOptions |
TextExtractionOptions | Konfigurace formátování pro extrakci textu TextAbsorber |
OptimizationOptions | Nastavení optimalizace velikosti a zdrojů dokumentu nezávislé na formátu |
Document.OptimizeResources | Použije instanci OptimizationOptions na dokument |