0

我正在尝试使用droidText库创建 PDF。在那里,我想在页面中间放置一些文本内容,但左对齐。我无法处理Paragraph类和setAlignment()方法。所以我决定使用TextField类。下面是我使用的代码,

Document document = new Document(PageSize.A4);

try {

    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "TextFields.pdf"));

    document.open();

    TextField tf = new TextField(writer, new Rectangle(100, 300, 200, 350), "Content");
    tf.setText("This is the content of text field");
    tf.setAlignment(Element.ALIGN_CENTER);
    tf.setOptions(TextField.MULTILINE | TextField.REQUIRED);

    PdfFormField field = tf.getTextField();
    writer.addAnnotation(field);

} catch (DocumentException de) {
    System.err.println(de.getMessage());
} catch (IOException ioe) {
    System.err.println(ioe.getMessage());
}

document.close();

代码工作完美,但我得到的输出 PDF 文件有这个 TextField,它可以编辑,当我点击 TextField 时还可以更改字体外观。我不希望它出现在我的最终 PDF 中。如何删除该属性?如果不可能,有没有其他方法可以使用 Android 中的 droidText 库在 PDF 文件中放置一些文本?

4

1 回答 1

0
  1. 您正在使用完全不受支持的软件库。请参阅http://lowagie.com/iText2 iText Software 提供了最新 iText 版本的官方 Android 端口。它不需要 Apache Harmony,它使用 SpongyCastle 而不是 BouncyCastle 来解决冲突 BC 版本的问题。见http://lowagie.com/iText2
  2. 好像你想添加一个水印。在这种情况下,您实际上并不需要 TextField。TextField 对象用于创建交互式表单(您指出这不是您想要的)。在页面中间添加短语的最简单方法是使用ColumnText.showTextAligned()。有关更多信息,请参阅“iText in Action — Second Edition”第 3 章的示例。
于 2012-09-18T09:18:29.690 回答