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 SaveFormat all’estensione del file che passi a Document.Save; una mancata corrispondenza produce un file con contenuti fuorvianti o un’estensione inutilizzabile.
  • Usa la sottoclasse LoadOptions che corrisponde al tuo formato di origine (ad esempio HtmlLoadOptions per HTML) invece di fare affidamento esclusivamente sul rilevamento automatico del formato.
  • Imposta sia HorizontalAlignment che VerticalAlignment insieme quando posizioni tabelle o paragrafi — lasciare uno al valore predefinito può produrre un posizionamento inatteso.
  • Considera ColorType come 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

ProblemaCausaCorrezione
Il file salvato ha contenuto errato per la sua estensioneValore SaveFormat errato passato a Document.SavePassa il valore SaveFormat che corrisponde all’estensione del file di destinazione
Il contenuto caricato HTML/XML/etc. viene visualizzato in modo erratoGenerico LoadOptions usato al posto della sottoclasse specifica del formatoUsa la sottoclasse corrispondente al formato di origine, ad esempio HtmlLoadOptions
La tabella o l’annotazione appare disallineata nella paginaHorizontalAlignment/VerticalAlignment lasciati ai valori predefinitiImposta 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 impostatiImposta 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

EnumDescrizione
PageModeCome il visualizzatore PDF mostra il documento all’apertura (contorni, miniature, schermo intero, ecc.)
PageLayoutLayout di pagina usato quando il documento viene visualizzato (pagina singola, colonne, ecc.)
ColorTypeModello di colore di una pagina o valore di colore (RGB, CMYK, scala di grigi, ecc.)
HorizontalAlignmentAllineamento orizzontale di paragrafi, tabelle o annotazioni
VerticalAlignmentAllineamento verticale di paragrafi, tabelle o annotazioni
TextAlignmentAllineamento orizzontale del testo per le caselle di testo delle annotazioni
JustificationGiustificazione del contenuto di un’annotazione a testo libero
LoadFormatSelettore del formato di origine utilizzato dalle sottoclassi di LoadOptions
SaveFormatSelettore del formato di output usato da Document.Save
RotationAngolo di rotazione della pagina, esposto tramite Page.Rotate

Vedi anche

 Italiano