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ě:

  1. Vývojové prostředí .NET: Ujistěte se, že máte nainstalované Visual Studio nebo jakékoli kompatibilní IDE.
  2. 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
  1. 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.