Heim >Backend-Entwicklung >C++ >Wie kann ich mit iTextSharp die Textformatierung (Schriftart, Größe, Stil) aus einer PDF-Datei abrufen?

Wie kann ich mit iTextSharp die Textformatierung (Schriftart, Größe, Stil) aus einer PDF-Datei abrufen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-11 10:56:42495Durchsuche

How Can I Retrieve Text Formatting (Font, Size, Style) from a PDF Using iTextSharp?

So extrahieren Sie das Textformat mit iTextSharp

Obwohl iTextSharp eine effiziente Textextraktionsmethode bietet, kann es bei der Beibehaltung von Formatierungsdetails wie Schriftarten, Farben und Größen zu Mängeln kommen. Um diese Einschränkung zu überwinden, haben wir einen alternativen Ansatz untersucht.

Maßgeschneiderte Textextraktionsstrategie

Die benutzerdefinierte TextWithFontExtractionStategy-Klasse erweitert die ITextExtractionStrategy-Schnittstelle, um Formatinformationen zu erfassen. In der RenderText-Methode:

  • Es überwacht Schriftartnamen, die Verwendung von Pseudofett, Grundlinienänderungen und Änderungen der Schriftgröße.
  • Wenn sich eines dieser Attribute ändert, wird das aktuelle HTML-Span-Tag geschlossen und ein neues mit den entsprechenden Stilen erstellt.

Beispielausgabe

Der folgende C#-Code zeigt, wie Text und schriftartbezogene Formatierungen aus einer PDF-Datei extrahiert werden:

<code class="language-csharp">StringBuilder result = new StringBuilder();
PdfReader reader = new PdfReader(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Document.pdf"));
TextWithFontExtractionStategy S = new TextWithFontExtractionStategy();
string F = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, S);
Console.WriteLine(F);</code>

Die generierte HTML-Ausgabe enthält Tags für Schriftfamilie, Schriftgröße und Schriftstil.

Weitere Überlegungen

  • PostscriptFontName kann zusätzliche Zeichen enthalten, die möglicherweise mit der Unterteilung der Schriftart zusammenhängen.
  • Der Beispielcode geht davon aus, dass Änderungen in der Grundlinie Zeilenumbrüche in HTML darstellen.
  • Der Extraktionsprozess erfasst derzeit keine Farbinformationen, es gibt jedoch Hinweise darauf, dass dies manuell erreicht werden kann.

Das obige ist der detaillierte Inhalt vonWie kann ich mit iTextSharp die Textformatierung (Schriftart, Größe, Stil) aus einer PDF-Datei abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn