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
*LoadOptionsen*SaveOptionssubklasse erftWarningHandler/WarningHandlerName- stel beide samen in om herstelbare diagnostiek vast te leggen. - Geef de voorkeur aan een format-specifieke
*LoadOptions/*SaveOptionsinstantie 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 eenDocumentte openen en opnieuw op te slaan. OptimizationOptionsis onafhankelijk van de*SaveOptionsfamilie - roepOptimizeResourcesaan vóórSaveom 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
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Relatieve image/CSS-paden niet opgelost bij het laden van HTML | HtmlLoadOptions.BasePath is nooit ingesteld | Geef het basispad door via de HtmlLoadOptions(basePath)-constructor |
| Verkeerd uitvoerformaat gegenereerd | Een niet-overeenkomende *SaveOptions-subklasse of SaveFormat werd gebruikt voor de doeluitbreiding | Gebruik de *SaveOptions-subklasse die overeenkomt met het bestemmingsformaat |
OptimizeResources verkleint de bestandsgrootte niet | OptimizationOptions op standaardwaarden gelaten zonder reductievlaggen ingeschakeld | Stel RemoveUnusedObjects, CompressObjects en SubsetFonts expliciet in |
| Waarschuwingen die tijdens laden/opslaan worden gegenereerd, worden stilletjes genegeerd | WarningHandler ingesteld zonder ook de handler te benoemen | Stel 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 / Methode | Beschrijving |
|---|---|
LoadOptions | Basisklasse voor alle document-laadoptietypen |
SaveOptions | Basisklasse voor alle document-opslagoptietypen |
HtmlLoadOptions | Opties voor het importeren van HTML als een PDF-document |
MdLoadOptions | Opties voor het importeren van Markdown als een PDF-document |
TxtLoadOptions | Opties voor het importeren van platte tekst als een PDF-document |
SvgLoadOptions | Opties voor het importeren van SVG als een PDF-document |
PdfSaveOptions | Opties voor het opslaan van een document als PDF |
HtmlSaveOptions | Opties voor het opslaan van een document als HTML |
SvgSaveOptions | Opties om een document op te slaan als SVG |
UnifiedSaveOptions | Gedeelde basis voor HtmlSaveOptions en SvgSaveOptions |
Document.Convert | Statische één-stapsconversie met een LoadOptions/SaveOptions-paar |
TextExtractionOptions | Opmaakconfiguratie voor TextAbsorber tekstextractie |
OptimizationOptions | Formaatonafhankelijke documentgrootte/resource-optimalisatie-instellingen |
Document.OptimizeResources | Past een OptimizationOptions instantie toe op een document |