pdfCalligraph

Einführung

iText 7 pdfCalligraph

pdfCalligraph ist ein Add-On von iText 7 für Java und C# (.NET), mit dem Sie erweiterte typografische Funktionen in PDF freischalten können. Außerdem können Sie Ihren Dokument-Workflow mit globalen Sprachen und Schriftsystemen erweitern, die präzises Rendering beinhalten und für die Datenverarbeitung geeignet sind.

Supported Scripts

Language Script Module
Arabic, Persian, Kurdish, Azerbaijani, Sindhi, Pashto, Lurish, Urdu, Mandinka, Punjabi and others ARABIC pdfCalligraph
Hebrew, Yiddish, Judaeo-Spanish, and Judeo-Arabic HEBREW pdfCalligraph
Bengali BENGALI pdfCalligraph
Hindi, Sanskrit, Pali, Awadhi, Bhojpuri, Braj Bhasha, Chhattisgarhi, Haryanvi, Magahi, Nagpuri, Rajasthani, Bhili, Dogri, Marathi, Nepali, Maithili, Kashmiri, Konkani, Sindhi, Bodo, Nepalbhasa, Mundari and Santali DEVANAGARI, NAGARI pdfCalligraph
Gujarati and Kutchi GUJARATI pdfCalligraph
Punjabi GURMUKHI pdfCalligraph
Kannada, Konkani and others KANNADA pdfCalligraph
Khmer (Cambodia) KHMER pdfCalligraph
Malayalam MALAYALAM pdfCalligraph
Odia ORIYA pdfCalligraph
Tamil TAMIL pdfCalligraph
Telugu (Dravidian language) TELUGU pdfCalligraph
Thai THAI pdfCalligraph
Chinese Core
Japanese Core
Korean Core
WESTERN Core
Russian, Ukrainian, Belarussian, Bulgarian and others CYRILLIC Core
Greek GREEK Core
Armenian ARMENIAN Core
Georgian GEORGIAN Core
Show more Show less

How it works

For this example, we'll demonstrate using pdfCalligraph to correctly render text in different languages. First, let’s start with a simple English sentence, which we've translated into three different languages using Google Translate.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
final String[] sources = {"english.xml", "arabic.xml", "hindi.xml", "tamil.xml"};
        final PdfWriter writer = new PdfWriter(DEST);
        final PdfDocument pdfDocument = new PdfDocument(writer);
        final Document document = new Document(pdfDocument);
        final FontSet set = new FontSet();
        set.addFont("fonts/NotoNaskhArabic-Regular.ttf");
        set.addFont("fonts/NotoSansTamil-Regular.ttf");
        set.addFont("fonts/FreeSans.ttf");
        document.setFontProvider(new FontProvider(set));
        document.setProperty(Property.FONT, new String[]{"MyFontFamilyName"});
        for (final String source : sources) {
            final File xmlFile = new File(source);
            final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            final DocumentBuilder builder = factory.newDocumentBuilder();
            final org.w3c.dom.Document doc = builder.parse(xmlFile);
            final Node element = doc.getElementsByTagName("text").item(0);
            final Paragraph paragraph = new Paragraph();
            final Node textDirectionElement = element.getAttributes().getNamedItem("direction");
            boolean rtl = textDirectionElement != null && textDirectionElement.getTextContent()
                    .equalsIgnoreCase("rtl");
            if (rtl) {
                paragraph.setTextAlignment(TextAlignment.RIGHT);
            }
            paragraph.add(element.getTextContent());
            document.add(paragraph);
        }
        document.close();
        pdfDocument.close();
        writer.close();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
string[] sources = new string[] { "english.xml", "arabic.xml", "hindi.xml", "tamil.xml" };
            PdfWriter writer = new PdfWriter(DEST);
            PdfDocument pdfDocument = new PdfDocument(writer);
            Document document = new Document(pdfDocument);
            FontSet set = new FontSet();
            set.AddFont("NotoNaskhArabic-Regular.ttf");
            set.AddFont("NotoSansTamil-Regular.ttf");
            set.AddFont("FreeSans.ttf");
            document.SetFontProvider(new FontProvider(set));
            document.SetProperty(Property.FONT, new String[] { "MyFontFamilyName" });
            foreach (string source in sources)
            {
                XmlDocument doc = new XmlDocument();
                var stream = new FileStream(source, FileMode.Open);
                doc.Load(stream);
                XmlNode element = doc.GetElementsByTagName("text").Item(0);
                Paragraph paragraph = new Paragraph();
                XmlNode textDirectionElement = element.Attributes.GetNamedItem("direction");
                Boolean rtl = textDirectionElement != null && textDirectionElement.InnerText.Equals("rtl");
                if (rtl)
                {
                    paragraph.SetTextAlignment(TextAlignment.RIGHT);
                }
                paragraph.Add(element.InnerText);
                document.Add(paragraph);
            }
            document.Close();

Input

An image displaying four different languages in a single PDF

 

 

 

 

Resource files

Output

 

Schlüsselfunktionen

Kernfunktionen von iText 7 pdfCalligraph

Standard-PDF-Ersteller haben Probleme mit Zeicheninteraktionen oder Schreibsystemen wie Arabisch, Hebräisch, Hindi oder Thailändisch und im Hinblick auf Kerning, Ligaturen und Glyphenersätze. pdfCalligraph beherrscht all diese Schriftsysteme mit Leichtigkeit, und durch die Verwendung von OpenType-Funktionen eröffnet es Ihnen die gesamte Palette der iText PDF-Funktionalitäten in Ihrer Sprache und Ihrem Schriftsystem. Dazu gehört sogar die Textextraktion für Schriftsysteme mit zusammengesetzten Zeichen. Ein weiterer Vorteil von pdfCalligraph ist, dass Sie Ihre Programmierung in Java oder .NET (C#) nicht anpassen müssen.

iText
Nutzen Sie die erweiterten Schriftartenfunktionen zu Ihrem Vorteil

Beispielsweise OpenType-Funktionen, Kerning, Ligaturen und Glyphenersätze.

iText
Transparente Unterstützung für viele Sprachen

Einschließlich Sprachen, die brahmische, arabische und hebräische Schriften verwenden.

iText
Automatische Erkennung des Sprach-/Schreibsystems

Die erforderlichen Schriftsatzfunktionen sind aktiviert und werden automatisch angewendet. Eine manuelle Konfiguration ist möglich. pdfCalligraph lässt sich nahtlos in iText 7 Core und pdfHTML integrieren.

iText
Typografische Ausrichtung für alle Schreibsysteme

Linksbündig, rechtsbündig, zentriert und bündig ausgerichtet.

Vorteile

Warum iText 7 pdfCalligraph verwenden?

pdfCalligraph eröffnet Ihnen eine Welt voller Möglichkeiten und lässt Sie Unternehmen auf allen Kontinenten bedienen. Unabhängig davon, wo Sie oder Ihr Unternehmen ansässig sind, pdfCalligraph erschließt Ihnen die volle Leistungsfähigkeit unserer PDF-Funktionalitäten, in Ihrer Landessprache und Ihrem Schriftsystem. 

pdfCalligraph icon svg
Unterstützung Ihres internationalen Geschäfts

Nutzen Sie Ihre Dokumentenprozesse für mehrere Sprachen, ohne Ihre PDF-Programmierung anpassen zu müssen. Austausch von nicht-proprietären Datenformaten zwischen Nutzern vieler Kulturen. Erstellen Sie große Mengen von PDF-Dokumenten in verschiedenen Schriftsystemen. 

pdfCalligraph icon svg
Geschickte Konvertierung von speziellen Sprachen in PDF

Verwenden Sie spezielle Schriftfamilien und Zeichensätze in verschiedenen Sprachen wie Kannada, Arabisch, Tamilisch und viele mehr in Ihrem PDF. 

pdfCalligraph icon svg
Automatische Erkennung von Schriftsystemen im PDF-Format

Erkennen Sie, welches Schriftsystem bei der PDF-Erstellung verwendet wird. Erstelle Glyphen-Substitionen auf der Grundlage von skript- und schriftartspezifischen Informationen. Fügen Sie Informationen über die Lesereihenfolge hinzu, z. B. Arabisch, das von rechts nach links gelesen wird.

Kontakt

Haben Sie noch weitere Fragen? 

Gerne beantworten wir Ihre Fragen. Kontaktieren Sie uns und wir werden uns in Kürze mit Ihnen in Verbindung setzen.

Bitte kontaktieren Sie uns
Auf dem Laufenden bleiben

Melden Sie sich mit mehr als 11.000 Abonnenten an und werden Sie ein iText PDF-Experte, indem Sie sich über unsere neuen Produkte, Updates, Tipps, technischen Lösungen und Veranstaltungen informieren.

Abonniere jetzt