Určete zalomení tabulky v souboru PDF
Zavedení
Vytváření a manipulace se soubory PDF vám může připadat jako krocení divoké šelmy. V jednu chvíli si myslíte, že jste na to přišli, a v další chvíli se dokument chová nepředvídatelně. Přemýšleli jste někdy o tom, jak efektivně spravovat tabulky v PDF – konkrétně jak určit, kdy se tabulka rozbije? V tomto článku se ponoříme do toho, jak použít Aspose.PDF pro .NET k identifikaci, kdy se tabulka rozšíří nad velikost stránky. Tak se připoutejte a pojďme prozkoumat svět manipulace s PDF!
Předpoklady
Než se pustíme do samotného kódování, ujistěte se, že máte vše na svém místě:
- Vývojové prostředí .NET: Ujistěte se, že máte nainstalované Visual Studio nebo jakékoli kompatibilní IDE.
- Knihovna Aspose.PDF: Do projektu musíte přidat knihovnu Aspose.PDF. Můžete si jej stáhnout zAspose ke stažení ve formátu PDF stránku, nebo jej můžete nainstalovat pomocí NuGet Package Manager:
Install-Package Aspose.PDF
- Základní znalost C#: Tato příručka předpokládá, že rozumně rozumíte C# a objektově orientovanému programování.
Nyní, když máme naše předpoklady, pojďme se rozjet importem potřebných balíčků.
Importujte balíčky
Chcete-li začít používat Aspose.PDF ve svém projektu, musíte zahrnout příslušné jmenné prostory. Můžete to udělat takto:
using System.IO;
using System;
using Aspose.Pdf;
using Aspose.Pdf.Text;
Tyto jmenné prostory vám umožní přístup k základním funkcím potřebným pro manipulaci se soubory PDF.
Pojďme si tento proces rozdělit na zvládnutelné kroky. Vytvoříme dokument PDF, přidáme tabulku a určíme, zda se při přidávání dalších řádků rozbije na novou stránku.
Krok 1: Nastavte adresář dokumentů
Než začnete kódovat, určete umístění, kam se uloží vaše výstupní PDF. To je zásadní, protože zde později najdete vygenerovaný dokument.
string dataDir = "YOUR DOCUMENT DIRECTORY"; // Nahraďte svým adresářem.
Krok 2: Vytvořte instanci dokumentu PDF
Dále vytvoříte novou instanci souboruDocument
třídy z knihovny Aspose.PDF. Zde se stane všechna vaše kouzla PDF!
Document pdf = new Document();
Krok 3: Vytvořte stránku
Každý PDF potřebuje stránku. Zde je návod, jak můžete do dokumentu přidat novou stránku.
Aspose.Pdf.Page page = pdf.Pages.Add();
Krok 4: Vytvořte instanci tabulky
Nyní vytvořte skutečnou tabulku, u které chcete sledovat přestávky.
Aspose.Pdf.Table table1 = new Aspose.Pdf.Table();
table1.Margin.Top = 300; // Poskytuje trochu místa na stole.
Krok 5: Přidejte tabulku na stránku
Po vytvoření tabulky je dalším krokem její přidání na stránku, kterou jsme dříve vytvořili.
page.Paragraphs.Add(table1);
Krok 6: Definujte vlastnosti tabulky
Pojďme definovat některé důležité vlastnosti pro naši tabulku, jako jsou šířky a okraje sloupců.
table1.ColumnWidths = "100 100 100"; // Každý sloupec je široký 100 jednotek.
table1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
table1.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
Krok 7: Nastavte okraje buněk
Musíme zajistit, aby naše buňky měly nějaké vycpávky pro lepší prezentaci. Zde je návod, jak to nastavit.
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo(5f, 5f, 5f, 5f); // Nahoře, vlevo, vpravo, dole
table1.DefaultCellPadding = margin;
Krok 8: Přidejte řádky do tabulky
Nyní jsme připraveni přidat řádky! Propleteme a vytvoříme 17 řad. (Proč 17? No, to je místo, kde se rozbije stůl!)
for (int RowCounter = 0; RowCounter <= 16; RowCounter++)
{
Aspose.Pdf.Row row1 = table1.Rows.Add();
row1.Cells.Add($"col {RowCounter}, 1");
row1.Cells.Add($"col {RowCounter}, 2");
row1.Cells.Add($"col {RowCounter}, 3");
}
Krok 9: Získejte výšku stránky
Abychom zkontrolovali, zda se náš stůl vejde, potřebujeme znát výšku naší stránky.
float PageHeight = (float)pdf.PageInfo.Height;
Krok 10: Vypočítejte celkovou výšku objektů
Nyní spočítejme celkovou výšku všech objektů (okraje stránky, okraje tabulky a výška tabulky) na stránce.
float TotalObjectsHeight = page.PageInfo.Margin.Top + page.PageInfo.Margin.Bottom + table1.Margin.Top + table1.GetHeight();
Krok 11: Zobrazení informací o výšce
Je užitečné vidět nějaké informace o ladění, ne? Vytiskneme všechny relevantní informace o výšce do konzole.
Console.WriteLine($"PDF document Height = {PageHeight}");
Console.WriteLine($"Top Margin Info = {page.PageInfo.Margin.Top}");
Console.WriteLine($"Bottom Margin Info = {page.PageInfo.Margin.Bottom}");
Console.WriteLine($"Table-Top Margin Info = {table1.Margin.Top}");
Console.WriteLine($"Average Row Height = {table1.Rows[0].MinRowHeight}");
Console.WriteLine($"Table height {table1.GetHeight()}");
Console.WriteLine($"Total Page Height = {PageHeight}");
Console.WriteLine($"Cumulative Height including Table = {TotalObjectsHeight}");
Krok 12: Zkontrolujte stav přerušení tabulky
Nakonec chceme zjistit, zda by přidání dalších řádků způsobilo rozbití tabulky na jinou stránku.
if ((PageHeight - TotalObjectsHeight) <= 10)
{
Console.WriteLine("Page Height - Objects Height < 10, so table will break");
}
Krok 13: Uložte dokument PDF
Po vší té tvrdé práci uložme dokument PDF do vámi určeného adresáře.
dataDir = dataDir + "DetermineTableBreak_out.pdf";
pdf.Save(dataDir);
Krok 14: Potvrzující zpráva
Abyste věděli, že vše proběhlo hladce, pošleme potvrzovací zprávu.
Console.WriteLine($"\nTable break determined successfully.\nFile saved at {dataDir}");
Závěr
V této příručce jsme se podrobně podívali na to, jak určit, kdy se tabulka v dokumentu PDF rozbije při použití Aspose.PDF pro .NET. Pomocí těchto kroků můžete snadno identifikovat omezení prostoru a lépe spravovat rozvržení PDF. S praxí získáte dovednosti pro efektivní manipulaci s tabulkami a vytváření vyleštěných PDF jako profesionál. Tak proč to nezkusit a nezjistit, jak to může fungovat i vám?
FAQ
Co je Aspose.PDF pro .NET?
Aspose.PDF for .NET je robustní knihovna, která umožňuje vývojářům vytvářet, převádět a manipulovat s dokumenty PDF přímo v jejich aplikacích .NET.
Mohu získat bezplatnou zkušební verzi Aspose.PDF?
Ano! Můžete si stáhnout azkušební verze zdarma k prozkoumání jeho funkcí před nákupem.
Jak najdu podporu pro Aspose.PDF?
Na jejich stránkách můžete najít užitečné informace a získat podporu od komunity Asposefórum podpory.
Co se stane, když potřebuji v tabulce více než 17 řádků?
Pokud překročíte dostupný prostor, vaše tabulka se na stránku nevejde a měli byste podniknout příslušné kroky, abyste ji správně naformátovali.
Kde si mohu koupit knihovnu Aspose.PDF?
Knihovnu si můžete zakoupit odnákupní stránku.