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í.