Referință a opţiunilor de configurare
Referință la opțiunile de configurare
Majoritatea operațiunilor de încărcare, salvare și conversie în Aspose.PDF FOSS pentru .NET acceptă un *Options obiect care configurează comportamentul acelei operații. LoadOptions and SaveOptions sunt cele două rădăcini abstracte ale acestei familii: fiecare încărcător specific formatului (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) derivă din LoadOptions, și fiecare scriitor specific formatului (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) derivă din SaveOptions. Această pagină explică cum se îmbină familia și documentează clasele de opțiuni care nu sunt deja acoperite de Conversie și Optimizare ghid.
Încărcarea documentelor cu LoadOptions
Fiecare subclasă *LoadOptions moștenește WarningHandler, WarningHandlerName, DisableFontLicenseVerifications și LoadFormat din clasa de bază LoadOptions, apoi adaugă proprietăți specifice formatului său sursă.
// 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);Salvarea în PDF cu PdfSaveOptions
PdfSaveOptions controlează gestionarea fonturilor și plasarea fișierelor temporare atunci când se scrie un Document înapoi ca PDF. Moștenește CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs și SaveFormat din baza partajată SaveOptions.
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);Exportarea în HTML și SVG
HtmlSaveOptions și SvgSaveOptions derivă ambele din UnifiedSaveOptions. Dincolo de controalele de imagine/font/layout acoperite în ghidul de conversie, HtmlSaveOptions vă permite, de asemenea, să alegeți tipul de document și strategia de paginare, în timp ce SvgSaveOptions se bazează în totalitate pe membrii moșteniți 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);Conversie în un singur pas cu Document.Convert
Document.Convert acceptă un LoadOptions sursă și un SaveOptions destinație împreună într-un singur apel static, astfel încât să puteți converti între formate fără a deschide, converti și elibera manual un Document.
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);Opțiuni de extragere a textului
TextExtractionOptions controlează modul în care TextAbsorber (și TextDevice) formatează textul extras, independent de absorberul sau clasa de dispozitiv care efectuează extragerea.
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;Optimizarea ieșirii cu OptimizationOptions
OptimizationOptions este un mecanism separat, independent de format, pentru reducerea dimensiunii fișierului. Este aplicat prin Document.OptimizeResources, nu printr-o clasă *SaveOptions, astfel încât poate fi combinat cu orice cale de salvare.
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");Sfaturi și cele mai bune practici
- Fiecare subclasă
*LoadOptionsși*SaveOptionsmoșteneșteWarningHandler/WarningHandlerName- setați ambele împreună pentru a captura diagnosticările recuperabile. - Preferați o instanță
*LoadOptions/*SaveOptionsspecifică formatului în loc să vă bazați pe inferența formatului pe baza extensiei, în special când lucrați cu fluxuri în loc de căi de fișiere. - Utilizați
Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions)pentru conversii unice în loc să deschideți și să salvați manual unDocument. OptimizationOptionseste independent de familia*SaveOptions- apelațiOptimizeResourcesînainte deSavepentru a micșora ieșirea indiferent de formatul țintă.- Reutilizați o singură instanță de opțiuni în mai multe documente atunci când se aplică aceleași setări, în loc să o reconstruiți de fiecare dată.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
| Căile relative ale imaginii/CSS nu sunt rezolvate la încărcarea HTML | HtmlLoadOptions.BasePath nu a fost niciodată setat | Transmite calea de bază prin constructorul HtmlLoadOptions(basePath) |
| S-a produs un format de ieșire greșit | O subclasă *SaveOptions nepotrivită sau SaveFormat a fost utilizată pentru extensia țintă | Utilizați subclasa *SaveOptions care corespunde formatului de destinație |
OptimizeResources nu reduce dimensiunea fișierului | OptimizationOptions lăsat la valorile implicite fără a activa flaguri de reducere | Setați explicit RemoveUnusedObjects, CompressObjects și SubsetFonts |
| Avertismentele generate în timpul încărcării/salvării sunt eliminate în tăcere | WarningHandler setat fără a specifica și handlerul | Setează WarningHandler și WarningHandlerName împreună |
FAQ
Care este diferența dintre LoadOptions și SaveOptions?
LoadOptions configurează modul în care este citit un document dintr-un format sursă non-PDF (HTML, Markdown, text, SVG); SaveOptions configurează modul în care un Document este scris într-un format de ieșire (PDF, HTML, SVG). Fiecare clasă de opțiuni specifică unui format derivă din exact una dintre aceste două rădăcini.
Trebuie să specific LoadOptions când deschid un PDF nativ?
Nu. Document.Open și constructorul Document acceptă o cale de fișier simplă sau un flux pentru intrare PDF nativă. Subclasele *LoadOptions sunt necesare numai la importul unui format sursă non-PDF, cum ar fi HTML, Markdown, text sau SVG.
Pot reutiliza aceeași instanță SaveOptions în mai multe apeluri Save?
Da. O instanță de opțiuni este doar un obiect de configurare simplu; nu păstrează stare per document, astfel încât aceeași instanță PdfSaveOptions sau HtmlSaveOptions poate fi transmisă lui Save pentru mai multe documente care împărtășesc aceleași setări.
Cum este OptimizationOptions diferit de clasele SaveOptions specifice formatului?
OptimizationOptions este consumat de Document.OptimizeResources, un pas separat de salvare. El elimină obiectele/fluxurile neutilizate și recomprimă imaginile la fața locului și poate fi aplicat înainte de a apela Save cu orice subclasă *SaveOptions.
Are fiecare format sursă/țintă atât o clasă LoadOptions, cât și una SaveOptions?
Nu neapărat simetric. De exemplu, Markdown și textul simplu expun în prezent MdLoadOptions/TxtLoadOptions pentru import, dar nu există un omolog *SaveOptions, reflectând în ce direcție este acceptată conversia fiecărui format.
API Reference Rezumat
| Clasă / Metodă | Descriere: |
|---|---|
LoadOptions | Clasă de bază pentru toate tipurile de opțiuni de încărcare a documentelor |
SaveOptions | Clasă de bază pentru toate tipurile de opțiuni de salvare a documentelor |
HtmlLoadOptions | Opțiuni pentru importarea HTML ca document PDF |
MdLoadOptions | Opțiuni pentru importarea Markdown ca document PDF |
TxtLoadOptions | Opțiuni pentru importarea textului simplu ca document PDF |
SvgLoadOptions | Opțiuni pentru importarea SVG ca document PDF |
PdfSaveOptions | Opțiuni pentru salvarea unui document ca PDF |
HtmlSaveOptions | Opțiuni pentru salvarea unui document ca HTML |
SvgSaveOptions | Opțiuni pentru salvarea unui document ca SVG |
UnifiedSaveOptions | Bază comună pentru HtmlSaveOptions și SvgSaveOptions |
Document.Convert | Conversie statică cu un singur pas utilizând o pereche LoadOptions/SaveOptions |
TextExtractionOptions | Configurare de formatare pentru extragerea textului TextAbsorber |
OptimizationOptions | Setări de optimizare a dimensiunii/resurselor documentului independente de format |
Document.OptimizeResources | Aplică o instanță OptimizationOptions unui document |