Lavorare con gli Enum
Lavorare con gli Enum
Aspose.PDF FOSS per .NET utilizza enum tipizzati fortemente in tutto il suo API per configurare il comportamento del documento, l’aspetto della pagina e i formati di conversione. Invece di stringhe magiche o interi, la maggior parte delle superfici di configurazione — dal modo in cui un visualizzatore PDF apre un file al formato in cui un Document viene salvato — sono espressi come valori enum. Questa pagina introduce i tipi enum che incontrerai più spesso mentre lavori con la libreria. È un’introduzione curata, non un catalogo esaustivo; per l’elenco completo dei tipi enum e di ogni valore membro, vedi il API Reference.
Visualizzazione e layout della pagina
PageMode e PageLayout sono proprietà su Document che controllano come un visualizzatore PDF presenta il documento al primo avvio — se mostra i contorni, le miniature o un layout a colonne specifico.
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");Modello di colore della pagina
ColorType descrive il modello di colore di una pagina — RGB, CMYK, scala di grigi e così via. È esposto sia su Page che su Color, permettendoti di ramificare la logica in base a come il contenuto di una pagina è effettivamente renderizzato.
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
Diverse classi espongono HorizontalAlignment e VerticalAlignment per posizionare i contenuti nella pagina, mentre le classi di annotazione aggiungono TextAlignment e Justification per l’allineamento specifico del testo all’interno di una casella. Table, ad esempio, espone direttamente entrambi gli assi di allineamento.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation (e il tipo base Annotation) espone inoltre Justification e TextAlignment per il testo all’interno dell’annotazione:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}Formati di caricamento e salvataggio
LoadFormat identifica il formato sorgente dietro una sottoclasse LoadOptions (ad esempio, HtmlLoadOptions.LoadFormat è sempre LoadFormat.HTML), mentre SaveFormat seleziona il formato di output quando si chiama Document.Save.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);Rotazione della pagina
Rotation descrive l’angolo di rotazione di una pagina ed è esposto tramite Page.Rotate.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;Suggerimenti e buone pratiche
- Preferisci le overload di enum rispetto a quelle basate su stringa o intero quando entrambe esistono — catturano i valori non validi a tempo di compilazione.
- Abbina
SaveFormatall’estensione del file che passi aDocument.Save; una mancata corrispondenza produce un file con contenuti fuorvianti o un’estensione inutilizzabile. - Usa la sottoclasse
LoadOptionsche corrisponde al tuo formato di origine (ad esempioHtmlLoadOptionsper HTML) invece di fare affidamento esclusivamente sul rilevamento automatico del formato. - Imposta sia
HorizontalAlignmentcheVerticalAlignmentinsieme quando posizioni tabelle o paragrafi — lasciare uno al valore predefinito può produrre un posizionamento inatteso. - Considera
ColorTypecome descrittivo, non prescrittivo: segnala come il contenuto cromatico di una pagina è attualmente modellato, non è un’impostazione che attivi per convertire gli spazi colore.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
| Il file salvato ha contenuto errato per la sua estensione | Valore SaveFormat errato passato a Document.Save | Passa il valore SaveFormat che corrisponde all’estensione del file di destinazione |
| Il contenuto caricato HTML/XML/etc. viene visualizzato in modo errato | Generico LoadOptions usato al posto della sottoclasse specifica del formato | Usa la sottoclasse corrispondente al formato di origine, ad esempio HtmlLoadOptions |
| La tabella o l’annotazione appare disallineata nella pagina | HorizontalAlignment/VerticalAlignment lasciati ai valori predefiniti | Imposta esplicitamente entrambe le proprietà prima di aggiungere l’oggetto a Paragraphs |
| Il PDF si apre con un comportamento inatteso del visualizzatore (nessun pannello di indice, layout delle colonne errato) | Document.PageMode/Document.PageLayout mai impostati | Imposta entrambe le proprietà prima di chiamare Document.Save |
FAQ
Qual è la differenza tra PageMode e PageLayout?
PageMode controlla lo stato dell’interfaccia utente del visualizzatore all’apertura (ad esempio, se il pannello del sommario o delle miniature è visibile), mentre PageLayout controlla come le pagine sono disposte (una singola pagina, una colonna, due colonne, e così via).
Come faccio a sapere quale valore SaveFormat utilizzare?
Scegli il valore SaveFormat che corrisponde al tipo di file di output desiderato — ad esempio, SaveFormat.Html per l’output HTML o SaveFormat.Pdf per risalvare come PDF.
Posso impostare sia HorizontalAlignment che VerticalAlignment sullo stesso oggetto?
Sì. Classi come Table espongono entrambe le proprietà in modo indipendente, così puoi combinarle per posizionare il contenuto su entrambi gli assi.
Il ColorType consente di convertire lo spazio colore di una pagina?
No. ColorType restituisce il modello colore attualmente associato a una pagina o a un valore colore; non esegue la conversione.
Dove posso trovare tutti gli enum e tutti i valori?
Questa pagina copre gli enum più comunemente usati. Per l’insieme completo, inclusi tutti i valori dei membri, vedi il API Reference.
API Reference Riepilogo
| Enum | Descrizione |
|---|---|
PageMode | Come il visualizzatore PDF mostra il documento all’apertura (contorni, miniature, schermo intero, ecc.) |
PageLayout | Layout di pagina usato quando il documento viene visualizzato (pagina singola, colonne, ecc.) |
ColorType | Modello di colore di una pagina o valore di colore (RGB, CMYK, scala di grigi, ecc.) |
HorizontalAlignment | Allineamento orizzontale di paragrafi, tabelle o annotazioni |
VerticalAlignment | Allineamento verticale di paragrafi, tabelle o annotazioni |
TextAlignment | Allineamento orizzontale del testo per le caselle di testo delle annotazioni |
Justification | Giustificazione del contenuto di un’annotazione a testo libero |
LoadFormat | Selettore del formato di origine utilizzato dalle sottoclassi di LoadOptions |
SaveFormat | Selettore del formato di output usato da Document.Save |
Rotation | Angolo di rotazione della pagina, esposto tramite Page.Rotate |