Referentie van configuratie-opties

Referentie van configuratie-opties

Referentie van configuratieopties

De meeste laad-, opslag- en conversie-bewerkingen in Aspose.PDF FOSS voor .NET accepteren een *Options object dat het gedrag van die bewerking configureert. LoadOptions and SaveOptions zijn de twee abstracte wortels van deze familie: elke format-specifieke loader (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) is afgeleid van LoadOptions, en elke format-specifieke writer (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) is afgeleid van SaveOptions. Deze pagina legt uit hoe de familie in elkaar zit en documenteert de opties-klassen die nog niet behandeld zijn door de Conversie en Optimalisatie handleiding.


Documenten laden met LoadOptions

Elke *LoadOptions subklasse deelt WarningHandler, WarningHandlerName, DisableFontLicenseVerifications en LoadFormat van de LoadOptions basis-klasse, en voegt vervolgens eigenschappen toe die specifiek zijn voor het bronformaat.

// 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);

Opslaan naar PDF met PdfSaveOptions

PdfSaveOptions regelt de lettertype-verwerking en de plaatsing van tijdelijke bestanden bij het wegschrijven van een Document als PDF. Het erft CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs en SaveFormat van de gedeelde SaveOptions basis.

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

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

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

Exporteren naar HTML en SVG

HtmlSaveOptions en SvgSaveOptions zijn beide afgeleid van UnifiedSaveOptions. Naast de afbeelding-/lettertype-/lay-outbesturingen die in de converteergids worden behandeld, stelt HtmlSaveOptions je ook in staat om de documentvariant en pagineringstrategie te kiezen, terwijl SvgSaveOptions volledig afhankelijk is van de geërfde SaveOptions/UnifiedSaveOptions-leden.

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);

Een-stapconversie met Document.Convert

Document.Convert accepteert een bron-LoadOptions en een doel-SaveOptions samen in één statische aanroep, zodat je tussen formaten kunt converteren zonder handmatig een Document te openen, te converteren en te verwijderen.

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

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

Tekstextractie-opties

TextExtractionOptions bepaalt hoe TextAbsorber (en TextDevice) geëxtraheerde tekst formatteren, onafhankelijk van welke absorber- of apparaatklasse de extractie uitvoert.

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;

Output optimaliseren met OptimizationOptions

OptimizationOptions is een afzonderlijk, formaat-onafhankelijk mechanisme om de bestandsgrootte te verkleinen. Het wordt toegepast via Document.OptimizeResources, niet via een *SaveOptions-klasse, zodat het kan worden gecombineerd met elk opslagpad.

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 en best practices

  • Elke *LoadOptions en *SaveOptions subklasse erft WarningHandler/WarningHandlerName - stel beide samen in om herstelbare diagnostiek vast te leggen.
  • Geef de voorkeur aan een format-specifieke *LoadOptions/*SaveOptions instantie boven het vertrouwen op extensie-gebaseerde format-inferentie, vooral bij het werken met streams in plaats van bestandspaden.
  • Gebruik Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions) voor eenmalige conversies in plaats van handmatig een Document te openen en opnieuw op te slaan.
  • OptimizationOptions is onafhankelijk van de *SaveOptions familie - roep OptimizeResources aan vóór Save om de output te verkleinen, ongeacht het doelformaat.
  • Hergebruik een enkele opties-instantie over meerdere documenten wanneer dezelfde instellingen van toepassing zijn, in plaats van deze elke keer opnieuw op te bouwen.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Relatieve image/CSS-paden niet opgelost bij het laden van HTMLHtmlLoadOptions.BasePath is nooit ingesteldGeef het basispad door via de HtmlLoadOptions(basePath)-constructor
Verkeerd uitvoerformaat gegenereerdEen niet-overeenkomende *SaveOptions-subklasse of SaveFormat werd gebruikt voor de doeluitbreidingGebruik de *SaveOptions-subklasse die overeenkomt met het bestemmingsformaat
OptimizeResources verkleint de bestandsgrootte nietOptimizationOptions op standaardwaarden gelaten zonder reductievlaggen ingeschakeldStel RemoveUnusedObjects, CompressObjects en SubsetFonts expliciet in
Waarschuwingen die tijdens laden/opslaan worden gegenereerd, worden stilletjes genegeerdWarningHandler ingesteld zonder ook de handler te benoemenStel WarningHandler en WarningHandlerName samen

FAQ

Wat is het verschil tussen LoadOptions en SaveOptions?

LoadOptions configureert hoe een document wordt gelezen vanuit een bronformaat dat geen PDF is (HTML, Markdown, tekst, SVG); SaveOptions configureert hoe een Document wordt weggeschreven naar een uitvoerformaat (PDF, HTML, SVG). Elke op formaat gebaseerde opties-klasse erft van exact één van deze twee basisklassen.

Moet ik LoadOptions opgeven bij het openen van een native PDF?

Nee. Document.Open en de constructor van Document accepteren een eenvoudig bestandspad of stream voor native PDF-invoer. Subklassen van *LoadOptions zijn alleen nodig bij het importeren van een bronformaat dat geen PDF is, zoals HTML, Markdown, tekst of SVG.

Kan ik dezelfde SaveOptions-instantie hergebruiken bij meerdere Save-aanroepen?

Ja. Een opties-instantie is slechts een eenvoudig configuratie-object; het bevat geen per-document-status, zodat dezelfde PdfSaveOptions- of HtmlSaveOptions-instantie kan worden doorgegeven aan Save voor meerdere documenten die dezelfde instellingen delen.

Hoe verschilt OptimizationOptions van de op formaat gebaseerde SaveOptions-klassen?

OptimizationOptions wordt geconsumeerd door Document.OptimizeResources, een afzonderlijke stap van het opslaan. Het verwijdert ongebruikte objecten/streams en recomprimeert afbeeldingen in-situ, en kan worden toegepast voordat Save wordt aangeroepen met een willekeurige *SaveOptions-subklasse.

Heeft elk bron-/doelformaat zowel een LoadOptions- als een SaveOptions-klasse?

Niet noodzakelijk symmetrisch. Bijvoorbeeld, Markdown en platte tekst bieden momenteel MdLoadOptions/TxtLoadOptions voor import, maar geen overeenkomende *SaveOptions tegenhanger, wat aangeeft in welke richting elk formaat wordt ondersteund voor conversie.


API Reference Samenvatting

Klasse / MethodeBeschrijving
LoadOptionsBasisklasse voor alle document-laadoptietypen
SaveOptionsBasisklasse voor alle document-opslagoptietypen
HtmlLoadOptionsOpties voor het importeren van HTML als een PDF-document
MdLoadOptionsOpties voor het importeren van Markdown als een PDF-document
TxtLoadOptionsOpties voor het importeren van platte tekst als een PDF-document
SvgLoadOptionsOpties voor het importeren van SVG als een PDF-document
PdfSaveOptionsOpties voor het opslaan van een document als PDF
HtmlSaveOptionsOpties voor het opslaan van een document als HTML
SvgSaveOptionsOpties om een document op te slaan als SVG
UnifiedSaveOptionsGedeelde basis voor HtmlSaveOptions en SvgSaveOptions
Document.ConvertStatische één-stapsconversie met een LoadOptions/SaveOptions-paar
TextExtractionOptionsOpmaakconfiguratie voor TextAbsorber tekstextractie
OptimizationOptionsFormaatonafhankelijke documentgrootte/resource-optimalisatie-instellingen
Document.OptimizeResourcesPast een OptimizationOptions instantie toe op een document

Zie ook

 Nederlands