Arbeta med Enums
Arbeta med enum
Aspose.PDF FOSS för .NET använder starkt typade enums genom hela sin API för att konfigurera dokumentbeteende, sidutseende och konverteringsformat. Istället för magiska strängar eller heltal uttrycks de flesta konfigurationsytor — från hur en PDF-visare öppnar en fil till vilket format en Document sparas som — uttrycks som enum-värden. Denna sida introducerar de enum-typer du kommer att möta oftast när du arbetar med biblioteket. Det är en kuraterad introduktion, inte en uttömmande katalog; för den kompletta listan över enum-typer och varje medlemsvärde, se API Reference.
Sidvisning och layout
PageMode och PageLayout är egenskaper på Document som styr hur en PDF-visare presenterar dokumentet när det öppnas för första gången — om den visar konturer, miniatyrer eller en viss kolumnlayout.
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");Sidans färgmodell
ColorType beskriver färgmodellen för en sida — RGB, CMYK, gråskala osv. Den exponeras både på Page och Color, vilket låter dig förgrena logiken baserat på hur innehåll på en sida faktiskt renderas.
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
Flera klasser exponerar HorizontalAlignment och VerticalAlignment för att placera innehåll på sidan, medan annoteringsklasser lägger till TextAlignment och Justification för textspecifik justering inom en ruta. Table exponerar till exempel båda justeringsaxlarna direkt.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation (och bastypen Annotation) exponerar dessutom Justification och TextAlignment för texten i annoteringen:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}Läs- och sparaformat
LoadFormat identifierar källformatet bakom en LoadOptions-subklass (till exempel är HtmlLoadOptions.LoadFormat alltid LoadFormat.HTML), medan SaveFormat väljer utdataformatet när Document.Save anropas.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);Sidrotation
Rotation beskriver en sidas rotationsvinkel och exponeras via Page.Rotate.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;Tips och bästa praxis
- Föredra enum-överladdningar framför sträng- eller heltalsbaserade överladdningar när båda finns — de fångar ogiltiga värden vid kompileringstid.
- Matcha
SaveFormatmed filändelsen du skickar tillDocument.Save; en felmatchning ger en fil med missvisande innehåll eller en oanvändbar filändelse. - Använd
LoadOptions-subklassen som motsvarar ditt källformat (t.ex.HtmlLoadOptionsför HTML) istället för att enbart förlita dig på automatisk formatdetektering. - Ställ in både
HorizontalAlignmentochVerticalAlignmentsamtidigt när du placerar tabeller eller stycken — att låta en vara på standardvärdet kan ge oväntad placering. - Behandla
ColorTypesom beskrivande, inte föreskrivande: den rapporterar hur en sidas färginnehåll för närvarande är modellerat, inte en inställning du växlar för att konvertera färgrymder.
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| Sparad fil har fel innehåll för sin filändelse | Fel SaveFormat-värde skickat till Document.Save | Skicka SaveFormat-värdet som matchar målfilens filändelse |
| Inläst HTML/XML/etc. innehåll renderas felaktigt | Generisk LoadOptions användes istället för den format-specifika subklassen | Använd subklassen som matchar källformatet, t.ex. HtmlLoadOptions |
| Tabell eller annotation verkar feljusterad på sidan | HorizontalAlignment/VerticalAlignment lämnade på deras standardvärden | Ställ explicit in båda egenskaperna innan objektet läggs till i Paragraphs |
| PDF öppnas med oväntat visningsbeteende (ingen innehållsförteckningspanel, fel kolumnlayout) | Document.PageMode/Document.PageLayout sätts aldrig | Ange båda egenskaperna innan du anropar Document.Save |
FAQ
Vad är skillnaden mellan PageMode och PageLayout?
PageMode styr visningsprogrammets UI-tillstånd vid öppning (t.ex. om kontur- eller miniatyrpanelen är synlig), medan PageLayout styr hur sidor ordnas (enkel sida, en kolumn, två kolumner och så vidare).
Hur vet jag vilket SaveFormat-värde jag ska använda?
Välj det SaveFormat-värde som matchar den utdatafiltyp du vill ha — till exempel, SaveFormat.Html för HTML-utdata eller SaveFormat.Pdf för att spara om som PDF.
Kan jag sätta både HorizontalAlignment och VerticalAlignment på samma objekt?
Ja. Klasser som Table exponerar båda egenskaperna oberoende, så att du kan kombinera dem för att placera innehåll på någon av axlarna.
Låter ColorType mig konvertera en sidas färgrymd?
Nej. ColorType rapporterar den färgmodell som för närvarande är kopplad till en sida eller färgvärde; den utför ingen konvertering.
Var kan jag hitta varje enum och varje värde?
Denna sida täcker de mest använda uppräkningarna. För den kompletta uppsättningen, inklusive varje medlemsvärde, se API Reference.
API Reference Sammanfattning
| Enum | Beskrivning |
|---|---|
PageMode | Hur PDF-visaren visar dokumentet vid öppning (konturer, miniatyrbilder, helskärm osv.) |
PageLayout | Sidlayout som används när dokumentet visas (enkel sida, kolumner osv.) |
ColorType | Färgmodell för en sida eller färgvärde (RGB, CMYK, gråskala osv.) |
HorizontalAlignment | Horisontell justering av stycken, tabeller eller anteckningar |
VerticalAlignment | Vertikal justering av stycken, tabeller eller anteckningar |
TextAlignment | Horisontell textjustering för annoteringstextrutor |
Justification | Justering av innehållet i en fri textannotation |
LoadFormat | Källformatväljare som används av LoadOptionss underklasser |
SaveFormat | Utdataformatväljare som används av Document.Save |
Rotation | Sidroteringsvinkel, exponerad via Page.Rotate |