Práce s výčtovými typy

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 SaveFormat s příponou souboru, kterou předáváte Document.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ř. HtmlLoadOptions pro HTML) místo spoléhaní se pouze na automatické rozpoznání formátu.
  • Nastavte současně HorizontalAlignment i VerticalAlignment př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 ColorType za 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émPříčinaOprava
Uložený soubor má nesprávný obsah pro svou příponuŠpatná hodnota SaveFormat předaná do Document.SavePř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átPouž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 nenastavenyNastavte 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í

EnumPopis:
PageModeJak PDF prohlížeč zobrazuje dokument při otevření (obsahy, miniatury, režim celé obrazovky atd.)
PageLayoutRozložení stránky použité při zobrazení dokumentu (jedna stránka, sloupce atd.)
ColorTypeBarevný model stránky nebo barevná hodnota (RGB, CMYK, odstíny šedi atd.)
HorizontalAlignmentHorizontální zarovnání odstavců, tabulek nebo anotací
VerticalAlignmentVertikální zarovnání odstavců, tabulek nebo anotací
TextAlignmentHorizontální zarovnání textu pro textová pole anotací
JustificationZarovnání obsahu volné textové anotace
LoadFormatSelektor zdrojového formátu používaný podtřídami LoadOptions
SaveFormatSelektor výstupního formátu používaný Document.Save
RotationÚhel otočení stránky, zveřejněný prostřednictvím Page.Rotate

Viz také:

 Čeština