Αναφορά Επιλογών Διαμόρφωσης

Αναφορά Επιλογών Διαμόρφωσης

Αναφορά Επιλογών Διαμόρφωσης

Οι περισσότερες λειτουργίες φόρτωσης, αποθήκευσης και μετατροπής στο Aspose.PDF FOSS για .NET δέχονται ένα *Options αντικείμενο που ρυθμίζει τη συμπεριφορά αυτής της λειτουργίας. LoadOptions and SaveOptions είναι οι δύο αφηρημένες ρίζες αυτής της οικογένειας: κάθε φορτωτής ειδικός για μορφή (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) προέρχεται από LoadOptions, και κάθε συγγραφέας ειδικός για μορφή (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) προέρχεται από SaveOptions. Αυτή η σελίδα εξηγεί πώς η οικογένεια εντάσσεται και τεκμηριώνει τις κλάσεις επιλογών που δεν καλύπτονται ήδη από το Μετατροπή και Βελτιστοποίηση οδηγός.


Φόρτωση Εγγράφων με LoadOptions

Κάθε υποκατηγορία του *LoadOptions κληρονομεί τα WarningHandler, WarningHandlerName, DisableFontLicenseVerifications και LoadFormat από την βασική κλάση LoadOptions, και έπειτα προσθέτει ιδιότητες ειδικές για τη μορφή προέλευσής της.

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

Αποθήκευση σε PDF με PdfSaveOptions

PdfSaveOptions ελέγχει τη διαχείριση των γραμματοσειρών και την τοποθέτηση των προσωρινών αρχείων όταν γράφει ένα Document ξανά ως PDF. Κληρονομεί τα CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs και SaveFormat από τη κοινή βάση SaveOptions.

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

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

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

Εξαγωγή σε HTML και SVG

HtmlSaveOptions και SvgSaveOptions προέρχονται και τα δύο από το UnifiedSaveOptions. Πέρα από τους ελέγχους εικόνας/γραμματοσειράς/διάταξης που καλύπτονται στον οδηγό μετατροπής, το HtmlSaveOptions σας επιτρέπει επίσης να επιλέξετε τη γεύση του εγγράφου και τη στρατηγική σελιδοποίησης, ενώ το SvgSaveOptions βασίζεται εξ ολοκλήρου στα κληρονομημένα μέλη 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);

Μετατροπή σε ένα βήμα με Document.Convert

Document.Convert δέχεται ένα πηγαίο LoadOptions και προορισμό SaveOptions μαζί σε μία μοναδική στατική κλήση, ώστε να μπορείτε να μετατρέπετε μεταξύ μορφών χωρίς να ανοίγετε, μετατρέπετε και απορρίπτετε χειροκίνητα ένα Document.

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

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

Επιλογές Εξαγωγής Κειμένου

TextExtractionOptions ελέγχει πώς το TextAbsorber (και το TextDevice) μορφοποιεί το εξαγόμενο κείμενο, ανεξάρτητα από το ποιος απορροφητής ή κλάση συσκευής εκτελεί την εξαγωγή.

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;

Βελτιστοποίηση εξόδου με OptimizationOptions

OptimizationOptions είναι ένας ξεχωριστός, ανεξάρτητος από τη μορφή μηχανισμός για τη μείωση του μεγέθους του αρχείου. Εφαρμόζεται μέσω του Document.OptimizeResources, όχι μέσω μιας κλάσης *SaveOptions, ώστε να μπορεί να συνδυαστεί με οποιοδήποτε μονοπάτι αποθήκευσης.

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

Συμβουλές και Καλές Πρακτικές

  • Κάθε υποκατηγορία *LoadOptions και *SaveOptions κληρονομεί το WarningHandler/WarningHandlerName - ορίστε και τα δύο μαζί για να συλλάβετε διαγνώσεις που μπορούν να ανακτηθούν.
  • Προτιμήστε ένα μορφο-συγκεκριμένο αντικείμενο *LoadOptions/*SaveOptions αντί να βασίζεστε στην εξαγωγή μορφής βάσει επέκτασης, ειδικά όταν εργάζεστε με ροές αντί για διαδρομές αρχείων.
  • Χρησιμοποιήστε το Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions) για μετατροπές μίας χρήσης αντί να ανοίγετε και να αποθηκεύετε ξανά χειροκίνητα ένα Document.
  • Το OptimizationOptions είναι ανεξάρτητο από την οικογένεια *SaveOptions - καλέστε το OptimizeResources πριν το Save για να μειώσετε το αποτέλεσμα, ανεξάρτητα από τη μορφή προορισμού.
  • Επαναχρησιμοποιήστε μια μοναδική παρουσία επιλογών σε πολλαπλά έγγραφα όταν ισχύουν οι ίδιες ρυθμίσεις, αντί να την ανακατασκευάζετε κάθε φορά.

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
Οι σχετικές διαδρομές εικόνας/CSS δεν επιλύονται κατά τη φόρτωση του HTMLHtmlLoadOptions.BasePath δεν ορίστηκε ποτέΠεράστε τη βασική διαδρομή μέσω του κατασκευαστή HtmlLoadOptions(basePath)
Παράχθηκε εσφαλμένη μορφή εξόδουΧρησιμοποιήθηκε μια ασύμφωνη υποκλάση *SaveOptions ή SaveFormat για την επέκταση προορισμούΧρησιμοποιήστε την υποκλάση *SaveOptions που ταιριάζει με τη μορφή προορισμού
OptimizeResources δεν μειώνει το μέγεθος του αρχείουOptimizationOptions αφέθηκε στις προεπιλογές χωρίς ενεργοποιημένες σημαίες μείωσηςΟρίστε ρητά τα RemoveUnusedObjects, CompressObjects και SubsetFonts
Οι προειδοποιήσεις που προκύπτουν κατά τη φόρτωση/αποθήκευση απορρίπτονται σιωπηράWarningHandler ορίζεται χωρίς επίσης να ονομάζεται ο χειριστήςΟρίστε WarningHandler και WarningHandlerName μαζί

FAQ

Ποια είναι η διαφορά μεταξύ LoadOptions και SaveOptions?

LoadOptions ρυθμίζει πώς διαβάζεται ένα έγγραφο από μορφή πηγής μη-PDF (HTML, Markdown, κείμενο, SVG); SaveOptions ρυθμίζει πώς ένα Document γράφεται σε μορφή εξόδου (PDF, HTML, SVG). Κάθε κλάση επιλογών ειδικής μορφής κληρονομεί ακριβώς από μία από αυτές τις δύο ρίζες.

Πρέπει να καθορίσω το LoadOptions όταν ανοίγω ένα εγγενές PDF;

Όχι. Το Document.Open και ο κατασκευαστής του Document δέχονται απλό μονοπάτι αρχείου ή ροή για εγγενή είσοδο PDF. Οι υποκλάσεις του *LoadOptions απαιτούνται μόνο κατά την εισαγωγή μορφής πηγής μη-PDF όπως HTML, Markdown, κείμενο ή SVG.

Μπορώ να ξαναχρησιμοποιήσω το ίδιο αντικείμενο SaveOptions σε πολλαπλές κλήσεις Save;

Ναι. Μία παρουσία επιλογών είναι απλώς ένα απλό αντικείμενο διαμόρφωσης· δεν διατηρεί κατάσταση ανά έγγραφο, έτσι το ίδιο αντικείμενο PdfSaveOptions ή HtmlSaveOptions μπορεί να περαστεί στο Save για πολλά έγγραφα που μοιράζονται τις ίδιες ρυθμίσεις.

Πώς διαφέρει το OptimizationOptions από τις κλάσεις SaveOptions ειδικές για κάθε μορφή;

Το OptimizationOptions καταναλώνεται από το Document.OptimizeResources, ένα ξεχωριστό βήμα από την αποθήκευση. Αφαιρεί αντικείμενα/ροές που δεν χρησιμοποιούνται και επανασυμπιέζει τις εικόνες επί τόπου, και μπορεί να εφαρμοστεί πριν κληθεί το Save με οποιαδήποτε υποκλάση του *SaveOptions.

Έχει κάθε μορφή προέλευσης/προορισμού και τις κλάσεις LoadOptions και SaveOptions;

Δεν είναι απαραίτητα συμμετρικό. Για παράδειγμα, το Markdown και το απλό κείμενο αυτή τη στιγμή εκθέτουν MdLoadOptions/TxtLoadOptions για εισαγωγή αλλά δεν υπάρχει αντίστοιχο *SaveOptions, αντικατοπτρίζοντας σε ποια κατεύθυνση κάθε μορφή υποστηρίζεται για μετατροπή.


API Reference Περίληψη

Κλάση / ΜέθοδοςΠεριγραφή
LoadOptionsΒασική κλάση για όλους τους τύπους επιλογών φόρτωσης εγγράφων
SaveOptionsΒασική κλάση για όλους τους τύπους επιλογών αποθήκευσης εγγράφων
HtmlLoadOptionsΕπιλογές για εισαγωγή του HTML ως έγγραφο PDF
MdLoadOptionsΕπιλογές για εισαγωγή του Markdown ως έγγραφο PDF
TxtLoadOptionsΕπιλογές για εισαγωγή απλού κειμένου ως έγγραφο PDF
SvgLoadOptionsΕπιλογές για εισαγωγή του SVG ως έγγραφο PDF
PdfSaveOptionsΕπιλογές για αποθήκευση ενός εγγράφου ως PDF
HtmlSaveOptionsΕπιλογές για αποθήκευση ενός εγγράφου ως HTML
SvgSaveOptionsΕπιλογές για αποθήκευση ενός εγγράφου ως SVG
UnifiedSaveOptionsΚοινή βάση για HtmlSaveOptions και SvgSaveOptions
Document.ConvertΣτατική μετατροπή ενός βήματος χρησιμοποιώντας ένα ζεύγος LoadOptions/SaveOptions
TextExtractionOptionsΔιαμόρφωση μορφοποίησης για την εξαγωγή κειμένου TextAbsorber
OptimizationOptionsΡυθμίσεις βελτιστοποίησης μεγέθους/πόρων εγγράφου ανεξάρτητα από τη μορφή
Document.OptimizeResourcesΕφαρμόζει ένα αντίγραφο OptimizationOptions σε ένα έγγραφο

Δείτε επίσης

 Ελληνικά