我正在尝试从Android中的一个遗留应用程序打开一个标准的PDF表单,使用iText覆盖表单字段,并传递到Android上的Adobe Reader来填写表单。
我已经能够手动创建文本字段,但我更希望有一个pdf文件作为模板,以加快过程和更好地控制质量。
这是我到目前为止的代码,遵循itext的例子。
AssetFileDescriptor descriptor = getAssets().openFd("standardWO_Template_v1_fo.pdf");
File templateFile = new File(descriptor.getFileDescriptor().toString());
PdfReader reader = new PdfReader(intent.getData().getPath());
reader.selectPages("1");
PdfReader templateReader = new PdfReader(templateFile.getAbsolutePath());
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(file));
// Stamp the template onto the document
PdfImportedPage page = stamper.getImportedPage(templateReader, 1);
PdfContentByte cb = stamper.getOverContent(1);
cb.addTemplate(page, 0, 0);
我遇到的问题在最后一行。cb.addTemplate(第0,0页);
Eclipse报告以下错误。无法解析java.awt.geom.AffineTransform类型。它是从所需的. class文件间接引用的
从我已经能够告诉java.awt.geom.AffineTransform不会在Android只有Java工作。
有没有不同的方法来完成我的任务或者让AffineTransform在Android中工作?
经过更多的搜索,我找到了这种方法。首先,我必须从在我的Android项目中使用iText5.3.1库更改为机器人文本库。
一旦我安装了机器人文本库就能够使用以下代码。(以及日食中的 ctrl-o)
File templateFile = new File(dir.getAbsolutePath() + "/templates/standardWO.pdf");
// Read the incoming file
PdfReader reader = new PdfReader(intent.getData().getPath());
// Read the template form information
PdfReader templateReader = new PdfReader(templateFile.getAbsolutePath());
// Create the stamper from the incoming file.
PdfStamper stamper = new PdfStamper(templateReader, new FileOutputStream(file));
// Import the template information
PdfImportedPage iPage = stamper.getImportedPage(reader, 1);
// get the direct content
PdfContentByte cb = stamper.getUnderContent(1);
// Add the imported page to the content
cb.addTemplate(iPage, 0, 0);
stamper.close();
Log.v(TAG, "Opening file in adobe reader: " + file.getAbsolutePath());
loadDocInReader(file);
我有一个pdf模板,我试图在新文档中重写它。我需要从模板PDF中获取一些字段,并在新的PDF中重写它们的值。我这样做: 但我发现了一个例外: iText。内核PDFEException:“没有用于生成间接项的关联PdfWriter。” 我做错了什么以及如何修复它?这是第七次。
问题内容: 我想在叠加文字中添加一个链接。我已经读过,使用Anchor 仅适用于从头开始制作的文档,不适用于现有的pdf。我的 代码是向每个页面添加一个覆盖文本。我的目标是使 该文本的一部分可点击。我不知道如何制作 短语中的链接注释。 这是我的代码: 所以我的叠加看起来像这样: 从[匿名]下载我的网站在1:20 2015年2月17日 上午CST 如何将我的网站转换为链接注释?在SO中搜索时,我 找
我们有一个包含现有字段的PDF表单,我们正在尝试使用默认值向表单添加新字段,但没有成功。基本上,我们正在做以下工作: 字段idClient使用新值更新,但新字段idDocTrackType没有内容。我做错了什么?
我需要添加一些文本内容的底部现有的。带有iText的pdf文档。我有一个工作方法,但新内容显示在左上角,与现有内容重叠: 如何“移动”最后一页底部的,而不是第一页的开头?我对iText不熟悉,令人惊讶的是,在网上找不到解决方案。
我正在使用PDFBox 1.8.10将文本添加到PDF文档中。它可以很好地工作,除了在某些文档中添加文本(使用pdf structure inspector检查),但不以pdf格式显示。样本文件如下:https://kali-docs.ks2.fr/share/s/Ut_LdO8LR4WEeEd1y2k58Q 因为我想将一些自定义AlphaConstant设置为文本(和矩形),所以我使用图形状态参
我有一个PDF中定义的表单。表单中的一个字段是多行文本字段。 文本字段中的值由使用Apache PDFBox的java程序填充。 问题是当值大约为5到6行时,文本框会自动显示文本。但如果超过6行,则文本框不显示该值。我必须特别点击文本字段来显示文本。如果我再次单击文本框外,文本将消失。