Práce s výčtovými typy
Práce s výčty
Aspose.PDF FOSS pro .NET používá silně typované enumy v celém svém API k nastavení chování dokumentu, vzhledu stránky a konverzních formátů. Místo magických řetězců nebo celých čísel jsou většina konfiguračních ploch— od toho, jak PDF prohlížeč otevře soubor až po to, v jakém formátu je Document je uloženo jako— jsou vyjádřeny jako hodnoty enumu. Tato stránka představuje typy enumů, se kterými se setkáte nejčastěji při práci s knihovnou. Jedná se o kurátorský úvod, nikoli vyčerpávající katalog; úplný seznam typů enumů a všech jejich hodnot naleznete v API Reference.
Zobrazení stránky a rozvržení
PageMode a PageLayout jsou vlastnosti na Document, které řídí, jak PDF prohlížeč prezentuje dokument při prvním otevření — zda zobrazí osnovy, miniatury nebo konkrétní rozvržení sloupců.
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");Barevný model stránky
ColorType popisuje barevný model stránky — RGB, CMYK, odstíny šedi a podobně. Je dostupné jak na Page, tak na Color, což vám umožní rozvětvit logiku podle toho, jak je obsah stránky skutečně vykreslen.
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
Několik tříd vystavuje HorizontalAlignment a VerticalAlignment pro umisťování obsahu na stránku, zatímco třídy anotací přidávají TextAlignment a Justification pro zarovnání textu uvnitř rámečku. Table například vystavuje oba osy zarovnání přímo.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation (a základní typ Annotation) také vystavuje Justification a TextAlignment pro text uvnitř anotace:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}Formáty načítání a ukládání
LoadFormat určuje zdrojový formát za podtřídou LoadOptions (například HtmlLoadOptions.LoadFormat je vždy LoadFormat.HTML), zatímco SaveFormat vybírá výstupní formát při volání Document.Save.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);Rotace stránky
Rotation popisuje úhel rotace stránky a je vystavena prostřednictvím Page.Rotate.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;Tipy a osvědčené postupy
- Upřednostněte přetížení s výčtem před přetížením založeným na řetězcích nebo celých číslech, kde obě existují — zachytí neplatné hodnoty již při překladu.
- Porovnejte
SaveFormats příponou souboru, kterou předáváteDocument.Save; nesoulad vytvoří soubor s klamným obsahem nebo nepoužitelnou příponou. - Použijte podtřídu
LoadOptions, která odpovídá vašemu zdrojovému formátu (např.HtmlLoadOptionspro HTML) místo spoléhaní se pouze na automatické rozpoznání formátu. - Nastavte současně
HorizontalAlignmentiVerticalAlignmentpři umisťování tabulek nebo odstavců—ponechání jednoho v výchozím nastavení může vést k neočekávanému umístění. - Považujte
ColorTypeza popisné, nikoli jako předpis: uvádí, jak je aktuálně modelován barevný obsah stránky, nejedná se o nastavení, které přepínáte k převodu barevných prostorů.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
| Uložený soubor má nesprávný obsah pro svou příponu | Špatná hodnota SaveFormat předaná do Document.Save | Předávejte hodnotu SaveFormat, která odpovídá cílové příponě souboru |
| Načtený HTML/XML/etc. obsah se vykresluje nesprávně | Obecný LoadOptions použit místo podtřídy specifické pro formát | Použijte podtřídu odpovídající zdrojovému formátu, např. HtmlLoadOptions |
| Tabulka nebo anotace se na stránce zobrazuje nesprávně zarovnaná | HorizontalAlignment/VerticalAlignment ponechány v jejich výchozím nastavení | Explicitně nastavte obě vlastnosti před přidáním objektu do Paragraphs |
| PDF se otevře s neočekávaným chováním prohlížeče (žádný panel osnovy, nesprávné rozložení sloupců) | Document.PageMode/Document.PageLayout nikdy nenastaveny | Nastavte oba vlastnosti před voláním Document.Save |
FAQ
Jaký je rozdíl mezi PageMode a PageLayout?
PageMode řídí stav uživatelského rozhraní prohlížeče při otevření (například zda je viditelný panel osnovy nebo miniatur), zatímco PageLayout určuje, jak jsou stránky uspořádány (jedna stránka, jeden sloupec, dva sloupce atd.).
Jak zjistím, kterou hodnotu SaveFormat použít?
Vyberte hodnotu SaveFormat, která odpovídá požadovanému typu výstupního souboru — například SaveFormat.Html pro HTML výstup nebo SaveFormat.Pdf pro opětovné uložení jako PDF.
Mohu nastavit jak HorizontalAlignment, tak VerticalAlignment na stejném objektu?
Ano. Třídy jako Table vystavují obě vlastnosti nezávisle, takže je můžete kombinovat k umístění obsahu podél libovolné osy.
Umožňuje ColorType převést barevný prostor stránky?
Ne. ColorType uvádí barevný model aktuálně přiřazený stránce nebo barevné hodnotě; nepřevádí.
Kde mohu najít všechny enumy a všechny jejich hodnoty?
Tato stránka pokrývá nejčastěji používané výčty. Pro kompletní sadu, včetně všech hodnot členů, viz API Reference.
API Reference Shrnutí
| Enum | Popis: |
|---|---|
PageMode | Jak PDF prohlížeč zobrazuje dokument při otevření (obsahy, miniatury, režim celé obrazovky atd.) |
PageLayout | Rozložení stránky použité při zobrazení dokumentu (jedna stránka, sloupce atd.) |
ColorType | Barevný model stránky nebo barevná hodnota (RGB, CMYK, odstíny šedi atd.) |
HorizontalAlignment | Horizontální zarovnání odstavců, tabulek nebo anotací |
VerticalAlignment | Vertikální zarovnání odstavců, tabulek nebo anotací |
TextAlignment | Horizontální zarovnání textu pro textová pole anotací |
Justification | Zarovnání obsahu volné textové anotace |
LoadFormat | Selektor zdrojového formátu používaný podtřídami LoadOptions |
SaveFormat | Selektor výstupního formátu používaný Document.Save |
Rotation | Úhel otočení stránky, zveřejněný prostřednictvím Page.Rotate |