在droidText:Android中删除TextField的外观

时间:2012-09-18 08:35:26

标签: android pdf-generation textfield android-droidtext

我正在尝试使用 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文件中定位某些文本吗?

1 个答案:

答案 0 :(得分: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”的chapter 3示例。