如何配置PDFBox以正确打印此类字符?

时间:2017-10-18 16:42:31

标签: java pdfbox

按原样,此代码(在运行JVM 8的Windows PC上)在行的开头打印出不需要的BOM(þÿ),在“testing”和“PDF”之间出现的“ - ”是空间。

我确定这与UTF-16与UTF-8有关,我可能需要在PDFBox中设置编码。有一些关于这类事情的帖子,但其中很多都很老,看起来不可靠(而且我承认自己并不熟悉PDFBox,只是略微使用UTF-x)。谢谢。

package com.canchek.report;

import java.io.IOException;

import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class PdfBoxTest {

    /* PDFBox coordinate system starts in the bottom LEFT
     */


    public static void main(String[] args) throws IOException, COSVisitorException {
        PDDocument document = new PDDocument();
        PDPage page = new PDPage();
        document.addPage(page);
        PDPageContentStream contentStream = new PDPageContentStream(document, page);

        PDFont font = PDType1Font.HELVETICA_BOLD;
        contentStream.setFont(font, 20);

        contentStream.beginText();
        contentStream.moveTextPositionByAmount(20, 700);
        contentStream.drawString("testing\u2013PDF");
        contentStream.endText();

        contentStream.close();
        document.save("C:/temp/test.pdf");

        document.close();

    }

}

0 个答案:

没有答案