Java Webdynpro iText交互式PDF表单
我正在开发一个JavaWebDynpro,我试图打印出一个交互式PDF表单。 我一直在遵循以下教程: 现在,当我打印新的PDF“temp.PDF”时,它会显示具有正确文本的模板,但字段仍然为空。 我的代码中有什么遗漏吗 代码Java Webdynpro iText交互式PDF表单,java,pdf,itext,sap,webdynpro,Java,Pdf,Itext,Sap,Webdynpro,我正在开发一个JavaWebDynpro,我试图打印出一个交互式PDF表单。 我一直在遵循以下教程: 现在,当我打印新的PDF“temp.PDF”时,它会显示具有正确文本的模板,但字段仍然为空。 我的代码中有什么遗漏吗 代码 1) 不需要在标题中添加主标记。2) 对代码块使用一致的逻辑缩进。代码的缩进是为了帮助人们理解程序流程。定义“打印”。使用PDF查看器打开表单时是否看到字段?也许你遇到了这个问题:当我打印PDF时,他显示了正确的PDF,但输入字段保持为空…我想我遗漏了一些东西,因为他显示了
1) 不需要在标题中添加主标记。2) 对代码块使用一致的逻辑缩进。代码的缩进是为了帮助人们理解程序流程。定义“打印”。使用PDF查看器打开表单时是否看到字段?也许你遇到了这个问题:当我打印PDF时,他显示了正确的PDF,但输入字段保持为空…我想我遗漏了一些东西,因为他显示了完美的PDF,但没有我设置为正确字段的值…我创建了一个新的Java类,此代码与字段中的值完美配合,因此,普通java类和我在WebDynPro中使用它之间有一些不同,你是说这个问题只能在WebDynPro环境中重现?在这种情况下,很少有人能帮助你。首先,我会仔细检查您在WebDynPro和独立测试中是否使用相同的iText版本。对不起,我的错误已经解决了这个问题@Lowagie,zou je,你是不是有什么问题?(AdobeLiveCycle中的heb甚至pdf格式的gemaakt met tabel,en-nu-zou ik deze willen opvullen?在elk voorbeeld中的grote probleem是最重要的问题,maar bij mij是最优秀的文档,并且是最重要的文档。
public byte[] GetPDFFromFolder( java.lang.String folderPath )
{
//@@begin GetPDFFromFolder()
byte[] byteLink = new byte[4096];
IResource folder = null;
Content content = null;
try {
IResourceContext rctx = ResourceFactory.getInstance().getServiceContext("cmadmin_service");
RID sisFolderRID = RID.getRID(folderPath);
folder = ResourceFactory.getInstance().getResource(sisFolderRID, rctx);
} catch (ResourceException e) {
e.printStackTrace();
}
StringBuilder bf = new StringBuilder();
try {
PdfWriter writer = null;
File file = new File("temp.pdf");
try {
FileOutputStream out = new FileOutputStream(file);
if (folder.isCollection()) {
ICollection folderColl = (ICollection) folder;
IResourceListIterator it = folderColl.getChildren().listIterator();
IResource res = it.next();
try {
try {
InputStream in = res.getContent().getInputStream();
PdfReader reader = new PdfReader(in);
try {
PdfStamper stamper = new PdfStamper(reader, out);
AcroFields form = stamper.getAcroFields();
if ("Document1.pdf".equals(res.getName())){
form.setField("TextField1Vertegenwoordigd", "Van Den Berghe Tim");
form.setField("TextField2Directeur", "341 - Carrefour Evere");
form.setField("TextField3Nr", "5588");
form.setField("TextField4RPR", "RPR waarde");
form.setField("TextField5BTW", "9999-999-999");
form.setField("TextField6Euro", "100");
form.setField("TextField7Periode", "8 maanden");
form.setField("TextField8Totaal", "133");
form.setField("TextField9Producten", "Cd - Eminem");
form.setField("TextField9Producten", "Bruin banket brood");
form.setField("TextField10Vanaf", "06/08/2013");
form.setField("TextField11Op", "06/09/2013");
form.setField("TextField12Te", "06/08/2013");
form.setField("TextField13Op", "06/09/2013");
}
else {// doesn't matter}
stamper.close();
reader.close();
out.close();
FileInputStream inn = new FileInputStream(file);
byteLink = IOUtils.toByteArray(inn);
} catch (DocumentException e) {
e.printStackTrace();
}
} catch (ContentException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (ResourceException e) {
e.printStackTrace();
}
return byteLink;
//@@end
}