注释中的iText unicode

时间:2012-11-07 08:52:17

标签: java unicode annotations itext

我在java中使用Itext。

请给我一个示例,将包含内容中的unicode字符串的文本注释添加到pdf。

感谢。

1 个答案:

答案 0 :(得分:1)

这是一个向现有PDF添加文本注释的简单示例;文本注释的标题和内容都包含阿拉伯字符。

import java.io.*;

import junit.framework.TestCase;

import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.*;

public class TestAnnotations extends TestCase
{
    // a phonetic approximation
    final static String LAWRENCE_OF_ARABIA = "\u0644\u0648\u0631\u0627\u0646\u0633\u0627\u0644\u0639\u0631\u0628";

    public void testUnicodeAnnotation() throws Exception
    {
        final PdfReader origPdfReader = new PdfReader("test.pdf");
        final OutputStream outputStream = new FileOutputStream("test-annot.pdf");
        final PdfStamper pdfStamper = new PdfStamper(origPdfReader, outputStream, '\0', true);

        Rectangle rect = new Rectangle(100, 100);
        PdfAnnotation annotation = PdfAnnotation.createText(pdfStamper.getWriter(), rect, LAWRENCE_OF_ARABIA, LAWRENCE_OF_ARABIA, true, "Help");
        pdfStamper.addAnnotation(annotation, 1);
        pdfStamper.close();
        outputStream.close();
    }
}

Sample result