Referință a opţiunilor de configurare

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 *SaveOptions moștenește WarningHandler/WarningHandlerName - setați ambele împreună pentru a captura diagnosticările recuperabile.
  • Preferați o instanță *LoadOptions/*SaveOptions specifică 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 un Document.
  • OptimizationOptions este independent de familia *SaveOptions - apelați OptimizeResources înainte de Save pentru 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 HTMLHtmlLoadOptions.BasePath nu a fost niciodată setatTransmite calea de bază prin constructorul HtmlLoadOptions(basePath)
S-a produs un format de ieșire greșitO 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șieruluiOptimizationOptions lăsat la valorile implicite fără a activa flaguri de reducereSetați explicit RemoveUnusedObjects, CompressObjects și SubsetFonts
Avertismentele generate în timpul încărcării/salvării sunt eliminate în tăcereWarningHandler setat fără a specifica și handlerulSetează 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:
LoadOptionsClasă de bază pentru toate tipurile de opțiuni de încărcare a documentelor
SaveOptionsClasă de bază pentru toate tipurile de opțiuni de salvare a documentelor
HtmlLoadOptionsOpțiuni pentru importarea HTML ca document PDF
MdLoadOptionsOpțiuni pentru importarea Markdown ca document PDF
TxtLoadOptionsOpțiuni pentru importarea textului simplu ca document PDF
SvgLoadOptionsOpțiuni pentru importarea SVG ca document PDF
PdfSaveOptionsOpțiuni pentru salvarea unui document ca PDF
HtmlSaveOptionsOpțiuni pentru salvarea unui document ca HTML
SvgSaveOptionsOpțiuni pentru salvarea unui document ca SVG
UnifiedSaveOptionsBază comună pentru HtmlSaveOptions și SvgSaveOptions
Document.ConvertConversie statică cu un singur pas utilizând o pereche LoadOptions/SaveOptions
TextExtractionOptionsConfigurare de formatare pentru extragerea textului TextAbsorber
OptimizationOptionsSetări de optimizare a dimensiunii/resurselor documentului independente de format
Document.OptimizeResourcesAplică o instanță OptimizationOptions unui document

Vezi și:

 Română