So erstellen Sie ein PDF-Dokument von Sprachen, die von Unicode-char-set in Bezug auf die Verwendung von Drittanbieter-Schriftarten

Ich bin mit PDFBox und iText erstellen Sie eine einfache (nur Absätze) pdf-Dokument aus verschiedenen Sprachen. So etwas wie :

pdfBox:

private static void createPdfBoxDocument(File from, File to) {
    PDDocument document = null;
    try {
        document = new TextToPDF().createPDFFromText(new FileReader(from));
        document.save(new FileOutputStream(to));
    } finally {
        if (document != null)
            document.close();
    }
}

private void createPdfBoxDoc() throws IOException, FileNotFoundException, COSVisitorException {
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    document.addPage(page);
    PDPageContentStream contentStream = new PDPageContentStream(document, page);

    PDType1Font font = PDType1Font.TIMES_ROMAN;
    contentStream.setFont(font, 12);
    contentStream.beginText();
    contentStream.moveTextPositionByAmount(100, 400);
    contentStream.drawString("š");
    contentStream.endText();
    contentStream.close();
    document.save("test.pdf");
    document.close();
}

itext:

private static Font blackFont = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL, BaseColor.BLACK);

private static void createITextDocument(File from, File to) {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(to));
    document.open();
    addContent(document, getParagraphs(from));
    document.close();
}

private static void addContent(Document document, List<String> paragraphs) { 

    for (int i = 0; i < paragraphs.size(); i++) {
        document.add(new Paragraph(paragraphs.get(i), blackFont));
    }
}

Die input-Dateien sind in UTF-8 codiert und einige Sprachen, die von Unicode-char-set, wie russische alphabet etc., werden nicht richtig dargestellt im pdf. Die Schriften in beiden Bibliotheken unterstützen keine Unicode-Zeichensatz, nehme ich an, und ich finde keine Dokumentation zum hinzufügen und verwenden von Drittanbieter-Schriftarten. Könnte bitte mir jemand helfen mit einem Beispiel ?

InformationsquelleAutor lisak | 2011-05-30

Schreibe einen Kommentar