Lucrul cu Enum-uri
Lucrul cu Enumerații
Aspose.PDF FOSS pentru .NET folosește enumuri puternic tipizate pe tot parcursul API pentru a configura comportamentul documentului, aspectul paginii și formatele de conversie. În loc de șiruri magice sau numere întregi, majoritatea suprafețelor de configurare — de la modul în care un vizualizator PDF deschide un fișier până la formatul în care un Document este salvat ca — sunt exprimate ca valori de enum. Această pagină introduce tipurile de enum cu care vă veți întâlni cel mai des în timp ce lucrați cu biblioteca. Este o introducere curată, nu un catalog exhaustiv; pentru lista completă a tipurilor de enum și a fiecărei valori de membru, consultați API Reference.
Afișarea și aspectul paginii
PageMode și PageLayout sunt proprietăți ale Document care controlează modul în care un vizualizator PDF prezintă documentul la prima deschidere — fie că afișează contururi, miniaturi sau un anumit aranjament pe coloane.
using var doc = Document.Open("input.pdf");
// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;
// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;
doc.Save("output.pdf");Modelul de culoare al paginii
ColorType descrie modelul de culoare al unei pagini — RGB, CMYK, tonuri de gri etc. Este expus atât pe Page, cât și pe Color, permițându-vă să ramificați logica în funcție de modul în care conținutul unei pagini este redat efectiv.
using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];
if (page.ColorType == ColorType.Grayscale)
{
// Apply grayscale-specific handling, e.g. skip color-profile conversion
}Alignment
Mai multe clase expun HorizontalAlignment și VerticalAlignment pentru poziționarea conținutului pe pagină, în timp ce clasele de adnotare adaugă TextAlignment și Justification pentru alinierea specifică textului într-o casetă. Table, de exemplu, expune ambele axe de aliniere direct.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation (și tipul de bază Annotation) expune în plus Justification și TextAlignment pentru textul din interiorul adnotării:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}Formate de încărcare și salvare
LoadFormat identifică formatul sursă din spatele unei subclase LoadOptions (de exemplu, HtmlLoadOptions.LoadFormat este întotdeauna LoadFormat.HTML), în timp ce SaveFormat selectează formatul de ieșire la apelarea Document.Save.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);Rotirea paginii
Rotation descrie unghiul de rotire al unei pagini și este expus prin Page.Rotate.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;Sfaturi și bune practici
- Preferă suprascrierile cu enum în locul celor bazate pe șiruri sau int, acolo unde ambele există — ele capturează valorile invalide în timpul compilării.
- Potrivește
SaveFormatcu extensia de fișier pe care o transmiți laDocument.Save; o nepotrivire produce un fișier cu conținut înșelător sau o extensie inutilizabilă. - Folosește subclasa
LoadOptionscare corespunde formatului tău sursă (de exemplu,HtmlLoadOptionspentru HTML) în loc să te bazezi doar pe detectarea automată a formatului. - Setează simultan
HorizontalAlignmentșiVerticalAlignmentatunci când poziționezi tabele sau paragrafe — lăsarea unuia la valoarea implicită poate produce o plasare neașteptată. - Tratează
ColorTypeca pe o descriere, nu ca pe o prescripție: raportează cum este modelat în prezent conținutul de culoare al unei pagini, nu ca pe o setare pe care o comuți pentru a converti spațiile de culoare.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
| Fișierul salvat are conținut incorect pentru extensia sa | Valoare SaveFormat incorectă transmisă către Document.Save | Transmiteți valoarea SaveFormat care se potrivește cu extensia de fișier țintă |
| Conținutul încărcat HTML/XML/etc. este redat incorect | S-a utilizat LoadOptions generic în locul subclasei specifice formatului | Folosiți subclasa care corespunde formatului sursă, de ex. HtmlLoadOptions |
| Tabelul sau adnotarea apare nealiniată pe pagină | HorizontalAlignment/VerticalAlignment lăsate la valorile implicite | Setați explicit ambele proprietăți înainte de a adăuga obiectul la Paragraphs |
| PDF-ul se deschide cu un comportament neașteptat al vizualizatorului (fără panou de contur, aranjament incorect al coloanelor) | Document.PageMode/Document.PageLayout nu sunt niciodată setate | Setați ambele proprietăți înainte de a apela Document.Save |
FAQ
Care este diferența dintre PageMode și PageLayout?
PageMode controlează starea interfeței utilizatorului la deschidere (de exemplu, dacă panoul cu schiță sau miniaturi este vizibil), în timp ce PageLayout controlează modul în care paginile sunt aranjate (o pagină, o coloană, două coloane și așa mai departe).
Cum știu ce valoare SaveFormat să folosesc?
Alege valoarea SaveFormat care corespunde tipului de fișier de ieșire dorit — de exemplu, SaveFormat.Html pentru HTML output sau SaveFormat.Pdf pentru a salva din nou ca PDF.
Pot seta atât HorizontalAlignment, cât și VerticalAlignment pe același obiect?
Da. Clasele precum Table expun ambele proprietăți independent, astfel încât le poți combina pentru a poziționa conținutul pe oricare axă.
Permite ColorType să convertesc spațiul de culoare al unei pagini?
Nu. ColorType raportează modelul de culoare asociat în prezent cu o pagină sau o valoare de culoare; nu efectuează conversia.
Unde pot găsi fiecare enum și fiecare valoare?
Această pagină acoperă cele mai utilizate enumuri. Pentru setul complet, inclusiv fiecare valoare a membrului, vezi the API Reference.
API Reference Rezumat
| Enum | Descriere: |
|---|---|
PageMode | Cum afișează vizualizatorul PDF documentul la deschidere (contururi, miniaturi, ecran complet, etc.) |
PageLayout | Aspectul paginii utilizat când documentul este afișat (o singură pagină, coloane, etc.) |
ColorType | Modelul de culoare al unei pagini sau valoarea de culoare (RGB, CMYK, nuanțe de gri, etc.) |
HorizontalAlignment | Aliniere orizontală a paragrafelor, tabelelor sau adnotărilor |
VerticalAlignment | Aliniere verticală a paragrafelor, tabelelor sau adnotărilor |
TextAlignment | Aliniere orizontală a textului pentru casetele de text ale adnotărilor |
Justification | Justificarea conținutului unei adnotări cu text liber |
LoadFormat | Selectorul de format sursă utilizat de subclasele LoadOptions |
SaveFormat | Selectorul de format de ieșire utilizat de Document.Save |
Rotation | Unghiul de rotație al paginii, expus prin Page.Rotate |