Získejte šířku textu dynamicky

V tomto tutoriálu vysvětlíme, jak používat Aspose.PDF pro .NET k dynamickému měření šířky textu v C#. To může být užitečné, když potřebujete určit velikost textového řetězce před jeho vykreslením v dokumentu PDF. Provedeme vás poskytnutým zdrojovým kódem C# krok za krokem.

Předpoklady

Než začnete, ujistěte se, že máte následující:

  • Nainstalovaná knihovna Aspose.PDF pro .NET.
  • Visual Studio nebo jiné vývojové prostředí C#.

Krok 1: Nastavte adresář dokumentů

// Cesta k adresáři dokumentů.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Nahradit"YOUR DOCUMENT DIRECTORY" cestou k adresáři, kde jsou umístěny vaše dokumenty. Ten bude použit k uložení všech vygenerovaných souborů PDF.

Krok 2: Najděte písmo

Aspose.Pdf.Text.Font font = FontRepository.FindFont("Arial");

Výše uvedený kód najde písmo Arial pomocíFindFont metoda zFontRepository třída. Pokud chcete použít jiné písmo, nahraďte jej"Arial" s požadovaným názvem písma.

Krok 3: Nastavte stav textu

TextState ts = new TextState();
ts.Font = font;
ts.FontSize = 14;

Zde vytvoříme novýTextState objekt a nastavit jeho vlastnosti. Přiřadíme dříve nalezené písmo (font) a nastavte velikost písma na 14. Upravte velikost písma podle potřeby.

Krok 4: Změřte šířku textu

if (Math.Abs(font.MeasureString("A", 14) - 9.337) > 0.001)
	Console.WriteLine("Unexpected font string measure!");

if (Math.Abs(ts.MeasureString("z") - 7.0) > 0.001)
	Console.WriteLine("Unexpected font string measure!");

for (char c = 'A'; c <= 'z'; c++)
{
	double fnMeasure = font.MeasureString(c.ToString(), 14);
	double tsMeasure = ts.MeasureString(c.ToString());
	if (Math.Abs(fnMeasure - tsMeasure) > 0.001)
		Console.WriteLine("Font and state string measuring doesn't match!");
}

Výše uvedený kód ukazuje, jak měřit šířku textu přímo pomocí písma (font.MeasureString) a textový stav (ts.MeasureString). Zahrnuje některé ověřovací kontroly, aby se zajistilo, že měření jsou přesná.

Ukázkový zdrojový kód pro Get Width Of Text dynamicky pomocí Aspose.PDF pro .NET

// Cesta k adresáři dokumentů.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Pdf.Text.Font font = FontRepository.FindFont("Arial");
TextState ts = new TextState();
ts.Font = font;
ts.FontSize = 14;
if (Math.Abs(font.MeasureString("A", 14) - 9.337) > 0.001)
	Console.WriteLine("Unexpected font string measure!");
if (Math.Abs(ts.MeasureString("z") - 7.0) > 0.001)
	Console.WriteLine("Unexpected font string measure!");
for (char c = 'A'; c <= 'z'; c++)
{
	double fnMeasure = font.MeasureString(c.ToString(), 14);
	double tsMeasure = ts.MeasureString(c.ToString());
	if (Math.Abs(fnMeasure - tsMeasure) > 0.001)
		Console.WriteLine("Font and state string measuring doesn't match!");
}

Závěr

Naučili jste se používat Aspose.PDF pro .NET k dynamickému měření šířky textu v C#. Podle kroků uvedených v tomto kurzu můžete přesně určit šířku textových řetězců před jejich vykreslením v dokumentu PDF.

Nejčastější dotazy

Otázka: Jaký je účel výukového programu „Získat šířku textu dynamicky“?

Odpověď: Výukový program “Get Width Of Text Dynamically” vysvětluje, jak používat Aspose.PDF for .NET k dynamickému měření šířky textu v C#. To je zvláště užitečné, když potřebujete určit velikost textového řetězce před jeho vykreslením v dokumentu PDF.

Otázka: Proč bych potřeboval dynamicky měřit šířku textu?

Odpověď: Dynamické měření šířky textu vám umožňuje přesně určit prostor potřebný pro text před jeho vykreslením. To je zásadní pro návrh rozvržení, zarovnání a zajištění, aby se text správně vešel do určených oblastí v dokumentu PDF.

Otázka: Jak najdu písmo, které se má použít pro měření textu?

A: V tutoriálu používáteFontRepository.FindFont způsob vyhledání požadovaného písma. V příkladu je použito písmo Arial, ale můžete jej nahradit"Arial" s názvem jakéhokoli jiného písma, které chcete použít.

Otázka: Jaký je účelTextState class?

A:TextState class se používá k nastavení vlastností formátování textu, jako je písmo a velikost písma. Umožňuje vám definovat, jak bude text prezentován.

Otázka: Jak změřím šířku textu pomocí písma a stavu textu?

Odpověď: Tutoriál ukazuje, jak měřit šířku textu přímo pomocí písma (font.MeasureString) a textový stav (ts.MeasureString). Zahrnuje validační kontroly pro zajištění přesnosti měření.

Otázka: Mohu použít tuto techniku pro různé velikosti a styly písma?

Odpověď: Ano, můžete upravit velikost písma a další vlastnosti vTextState objekt pro měření šířky textu pro různé velikosti a styly.

Otázka: Co zdůrazňuje závěr tutoriálu?

Odpověď: Závěr shrnuje obsah tutoriálu a zdůrazňuje, že jste se naučili dynamicky měřit šířku textu v dokumentu PDF pomocí Aspose.PDF pro .NET a C#. Tyto znalosti mohou přispět ke zlepšení návrhu rozvržení PDF a přesnosti vykreslování.