Referenz der Konfigurationsoptionen

Referenz der Konfigurationsoptionen

Referenz der Konfigurationsoptionen

Die meisten Lade-, Speicher- und Konvertierungsoperationen in Aspose.PDF FOSS für .NET akzeptieren ein *Options Objekt, das das Verhalten dieser Operation konfiguriert. LoadOptions and SaveOptions sind die beiden abstrakten Wurzeln dieser Familie: jeder format-spezifische Loader (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) leitet sich ab von LoadOptions, und jeder format-spezifische Writer (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) leitet sich ab von SaveOptions. Diese Seite erklärt, wie die Familie zusammenpasst, und dokumentiert die Optionsklassen, die noch nicht durch die Konvertierung und Optimierung Leitfaden.


Laden von Dokumenten mit LoadOptions

Jede *LoadOptions-Unterklasse erbt WarningHandler, WarningHandlerName, DisableFontLicenseVerifications und LoadFormat aus der Basisklasse LoadOptions und fügt anschließend eigenschaften hinzu, die speziell für ihr Quellformat gelten.

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

Speichern als PDF mit PdfSaveOptions

PdfSaveOptions steuert die Schriftartenhandhabung und die Platzierung von temporären Dateien, wenn ein Document als PDF zurückgeschrieben wird. Es erbt CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs und SaveFormat von der gemeinsamen Basisklasse SaveOptions.

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

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

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

Exportieren nach HTML und SVG

HtmlSaveOptions und SvgSaveOptions leiten sich beide von UnifiedSaveOptions ab. Über die im Konvertierungsleitfaden behandelten Bild-/Schrift-/Layout-Steuerungen hinaus ermöglicht HtmlSaveOptions ebenfalls die Auswahl des Dokumenttyps und der Paginierungsstrategie, während SvgSaveOptions vollständig auf die geerbten Mitglieder SaveOptions/UnifiedSaveOptions angewiesen ist.

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

Ein-Schritt-Konvertierung mit Document.Convert

Document.Convert akzeptiert ein Quell-LoadOptions und ein Ziel-SaveOptions zusammen in einem einzigen statischen Aufruf, sodass Sie zwischen Formaten konvertieren können, ohne manuell ein Document zu öffnen, zu konvertieren und zu entsorgen.

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

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

Optionen zur Textextraktion

TextExtractionOptions steuert, wie TextAbsorber (und TextDevice) extrahierten Text formatieren, unabhängig davon, welcher Absorber oder Geräteklasse die Extraktion durchführt.

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;

Optimierung der Ausgabe mit OptimizationOptions

OptimizationOptions ist ein separater, formatunabhängiger Mechanismus zur Reduzierung der Dateigröße. Er wird über Document.OptimizeResources angewendet, nicht über eine *SaveOptions-Klasse, sodass er mit jedem Speicherpfad kombiniert werden kann.

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

Tipps und bewährte Verfahren

  • Jede *LoadOptions und *SaveOptions Unterklasse erbt WarningHandler/WarningHandlerName - setze beide zusammen, um wiederherstellbare Diagnosen zu erfassen.
  • Bevorzuge eine format-spezifische *LoadOptions/*SaveOptions-Instanz gegenüber der verlängerungsbasierten Format-Inferenz, insbesondere wenn mit Streams statt Dateipfaden gearbeitet wird.
  • Verwende Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions) für Einmal-Konvertierungen, anstatt ein Document manuell zu öffnen und erneut zu speichern.
  • OptimizationOptions ist unabhängig von der *SaveOptions-Familie - rufe OptimizeResources vor Save auf, um die Ausgabe zu verkleinern, unabhängig vom Zielformat.
  • Verwende eine einzelne Options-Instanz über mehrere Dokumente hinweg, wenn dieselben Einstellungen gelten, anstatt sie jedes Mal neu zu erstellen.

Häufige Probleme

ProblemUrsacheBeheben
Relative Bild/CSS-Pfade werden beim Laden von HTML nicht aufgelöstHtmlLoadOptions.BasePath wurde nie gesetztÜbergeben Sie den Basis-Pfad über den HtmlLoadOptions(basePath)-Konstruktor
Falsches Ausgabeformat erzeugtEine nicht übereinstimmende *SaveOptions-Unterklasse oder SaveFormat wurde für die Zielerweiterung verwendetVerwenden Sie die *SaveOptions-Unterklasse, die dem Zielformat entspricht
OptimizeResources reduziert die Dateigröße nichtOptimizationOptions bleibt auf den Standardwerten, ohne aktivierte Reduktions-FlagsSetzen Sie RemoveUnusedObjects, CompressObjects und SubsetFonts explizit
Warnungen, die während Laden/Speichern ausgelöst werden, werden stillschweigend verworfenWarningHandler gesetzt, ohne gleichzeitig den Handler zu benennenSetze WarningHandler und WarningHandlerName zusammen

FAQ

Was ist der Unterschied zwischen LoadOptions und SaveOptions?

LoadOptions konfiguriert, wie ein Dokument aus einem nicht-PDF-Quellformat (HTML, Markdown, Text, SVG) gelesen wird; SaveOptions konfiguriert, wie ein Document in ein Ausgabeformat (PDF, HTML, SVG) geschrieben wird. Jede formatspezifische Optionsklasse leitet sich von genau einer dieser beiden Basisklassen ab.

Muss ich LoadOptions angeben, wenn ich ein natives PDF öffne?

Nein. Document.Open und der Document-Konstruktor akzeptieren einen einfachen Dateipfad oder Stream für native PDF-Eingaben. *LoadOptions-Unterklassen werden nur benötigt, wenn ein nicht-PDF-Quellformat wie HTML, Markdown, Text oder SVG importiert wird.

Kann ich dieselbe SaveOptions-Instanz bei mehreren Save-Aufrufen wiederverwenden?

Ja. Eine Optionsinstanz ist lediglich ein einfaches Konfigurationsobjekt; sie enthält keinen dokumentbezogenen Zustand, sodass dieselbe PdfSaveOptions- oder HtmlSaveOptions-Instanz an Save für mehrere Dokumente übergeben werden kann, die dieselben Einstellungen teilen.

Worin unterscheidet sich OptimizationOptions von den formatspezifischen SaveOptions-Klassen?

OptimizationOptions wird von Document.OptimizeResources verbraucht, ein separater Schritt vom Speichern. Es entfernt ungenutzte Objekte/Streams und komprimiert Bilder an Ort und Stelle neu und kann angewendet werden, bevor Save mit einer beliebigen *SaveOptions-Unterklasse aufgerufen wird.

Hat jedes Quell-/Ziel-Format sowohl eine LoadOptions- als auch eine SaveOptions-Klasse?

Nicht unbedingt symmetrisch. Zum Beispiel stellen Markdown und Plain-Text derzeit MdLoadOptions/TxtLoadOptions für den Import bereit, jedoch kein entsprechendes *SaveOptions-Gegenstück, das die unterstützte Richtung für die Konvertierung jedes Formats widerspiegelt.


API Reference Zusammenfassung

Klasse / MethodeBeschreibung
LoadOptionsBasisklasse für alle Dokument-Ladeoptionstypen
SaveOptionsBasisklasse für alle Dokument-Speicheroptionstypen
HtmlLoadOptionsOptionen zum Importieren von HTML als PDF-Dokument
MdLoadOptionsOptionen zum Importieren von Markdown als PDF-Dokument
TxtLoadOptionsOptionen zum Importieren von Klartext als PDF-Dokument
SvgLoadOptionsOptionen zum Importieren von SVG als PDF-Dokument
PdfSaveOptionsOptionen zum Speichern eines Dokuments als PDF
HtmlSaveOptionsOptionen zum Speichern eines Dokuments als HTML
SvgSaveOptionsOptionen zum Speichern eines Dokuments als SVG
UnifiedSaveOptionsGemeinsame Basis für HtmlSaveOptions und SvgSaveOptions
Document.ConvertStatische Ein-Schritt-Konvertierung mit einem LoadOptions/SaveOptions-Paar
TextExtractionOptionsFormatierungskonfiguration für die TextAbsorber-Textextraktion
OptimizationOptionsFormatunabhängige Einstellungen zur Dokumentgrößen- und Ressourcenoptimierung
Document.OptimizeResourcesWendet eine OptimizationOptions-Instanz auf ein Dokument an

Siehe auch

 Deutsch