Referens för konfigurationsalternativ
Referens för konfigurationsalternativ
De flesta inläsnings-, sparnings- och konverteringsoperationer i Aspose.PDF FOSS för .NET accepterar en *Options objekt som konfigurerar beteendet för den operationen. LoadOptions and SaveOptions är de två abstrakta rötterna i den här familjen: varje format-specifik laddare (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) härstammar från LoadOptions, och varje format-specifik skrivare (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) härstammar från SaveOptions. Den här sidan förklarar hur familjen hänger ihop och dokumenterar alternativklasserna som ännu inte täcks av Konvertering och optimering guide.
Läser in dokument med LoadOptions
Varje *LoadOptions-subklass delar WarningHandler, WarningHandlerName, DisableFontLicenseVerifications och LoadFormat från basklassen LoadOptions, och lägger sedan till egenskaper som är specifika för dess källformat.
// 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);Sparar till PDF med PdfSaveOptions
PdfSaveOptions styr teckensnittshantering och placering av temporära filer när en Document skrivs ut som PDF. Det ärver CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs och SaveFormat från den delade basen SaveOptions.
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);Exporterar till HTML och SVG
HtmlSaveOptions och SvgSaveOptions härstammar båda från UnifiedSaveOptions. Utöver bild-/teckensnitt-/layoutkontrollerna som täcks i konverteringsguiden låter HtmlSaveOptions dig också välja dokumentvariant och pagineringsstrategi, medan SvgSaveOptions förlitar sig helt på de ärvda SaveOptions/UnifiedSaveOptions-medlemmarna.
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);Enstegskonvertering med Document.Convert
Document.Convert accepterar en källa LoadOptions och mål SaveOptions tillsammans i ett enda statiskt anrop, så att du kan konvertera mellan format utan att manuellt öppna, konvertera och avyttra en Document.
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);Alternativ för textutdragning
TextExtractionOptions styr hur TextAbsorber (och TextDevice) formaterar extraherad text, oberoende av vilken absorber eller enhetsklass som utför extraktionen.
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;Optimera utdata med OptimizationOptions
OptimizationOptions är en separat, formatoberoende mekanism för att minska filstorlek. Den tillämpas via Document.OptimizeResources, inte via en *SaveOptions-klass, så den kan kombineras med vilken sparväg som helst.
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 och bästa praxis
- Varje
*LoadOptionsoch*SaveOptionsunderklass ärverWarningHandler/WarningHandlerName- sätt båda tillsammans för att fånga återhämtningsbar diagnostik. - Föredra en format-specifik
*LoadOptions/*SaveOptions-instans framför att förlita sig på filändelse-baserad formatgissning, särskilt när du arbetar med strömmar istället för filsökvägar. - Använd
Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions)för engångskonverteringar istället för att manuellt öppna och spara om enDocument. OptimizationOptionsär oberoende av*SaveOptions-familjen - anropaOptimizeResourcesföreSaveför att krympa utdata oavsett målformat.- Återanvänd en enda alternativinstans över flera dokument när samma inställningar gäller, istället för att återskapa den varje gång.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
| Relativa bild/CSS-sökvägar löses inte upp när HTML laddas | HtmlLoadOptions.BasePath sattes aldrig | Skicka basvägen via HtmlLoadOptions(basePath)-konstruktorn |
| Fel utdataformat genererades | En felaktig *SaveOptions-subklass eller SaveFormat användes för mål-tillägget | Använd *SaveOptions-subklassen som matchar destinationsformatet |
OptimizeResources minskar inte filstorleken | OptimizationOptions lämnades på standardinställningarna utan aktiverade reduceringsflaggor | Ange explicit RemoveUnusedObjects, CompressObjects och SubsetFonts |
| Varningar som uppstår under inläsning/skrivning slängs tyst | WarningHandler angivet utan att också namnge hanteraren | Ställ in WarningHandler och WarningHandlerName tillsammans |
FAQ
Vad är skillnaden mellan LoadOptions och SaveOptions?
LoadOptions konfigurerar hur ett dokument läses från ett icke-PDF-källformat (HTML, Markdown, text, SVG); SaveOptions konfigurerar hur en Document skrivs till ett utdataformat (PDF, HTML, SVG). Varje format-specifik alternativklass härstammar från exakt en av dessa två rötter.
Behöver jag ange LoadOptions när jag öppnar en inbyggd PDF?
Nej. Document.Open och Document-konstruktorn accepterar en enkel filsökväg eller ström för inbyggd PDF-inmatning. *LoadOptions-subklasser krävs endast vid import av ett icke-PDF-källformat, såsom HTML, Markdown, text eller SVG.
Kan jag återanvända samma SaveOptions-instans över flera Save-anrop?
Ja. En alternativinstans är bara ett enkelt konfigurationsobjekt; den innehåller ingen per-dokument-status, så samma PdfSaveOptions eller HtmlSaveOptions-instans kan föras vidare till Save för flera dokument som delar samma inställningar.
Hur skiljer sig OptimizationOptions från de format-specifika SaveOptions-klasserna?
OptimizationOptions konsumeras av Document.OptimizeResources, ett separat steg från sparandet. Det tar bort oanvända objekt/strömmar och komprimerar om bilder på plats, och kan tillämpas innan Save anropas med någon *SaveOptions-subklass.
Har varje källa/målsformat både en LoadOptions- och en SaveOptions-klass?
Inte nödvändigtvis symmetrisk. Till exempel exponerar Markdown och vanlig text för närvarande MdLoadOptions/TxtLoadOptions för import men ingen motsvarande *SaveOptions-motsvarighet, vilket återspeglar i vilken riktning varje format stöds för konvertering.
API Reference Sammanfattning
| Klass / Metod | Beskrivning |
|---|---|
LoadOptions | Bas-klass för alla alternativtyper för dokumentladdning |
SaveOptions | Bas-klass för alla alternativtyper för dokumentlagring |
HtmlLoadOptions | Alternativ för att importera HTML som ett PDF-dokument |
MdLoadOptions | Alternativ för att importera Markdown som ett PDF-dokument |
TxtLoadOptions | Alternativ för att importera vanlig text som ett PDF-dokument |
SvgLoadOptions | Alternativ för att importera SVG som ett PDF-dokument |
PdfSaveOptions | Alternativ för att spara ett dokument som PDF |
HtmlSaveOptions | Alternativ för att spara ett dokument som HTML |
SvgSaveOptions | Alternativ för att spara ett dokument som SVG |
UnifiedSaveOptions | Delad bas för HtmlSaveOptions och SvgSaveOptions |
Document.Convert | Statisk endastegskonvertering med ett LoadOptions/SaveOptions-par |
TextExtractionOptions | Formateringskonfiguration för TextAbsorber textutdrag |
OptimizationOptions | Formatoberoende dokumentstorlek/resursoptimeringsinställningar |
Document.OptimizeResources | Applicerar en OptimizationOptions-instans på ett dokument |