小编Spa*_*bil的帖子

使用PDF框设置的表单字段值在Adobe Reader中不可见

尝试使用Apache PDFBOX(1.8.5)从字段中设置一些问题我遇到了问题.我有几个不同的静态PDF用于测试.使用以下代码,我可以设置表单字段的值,并保存生成的PDF.然后,我可以在Adobe Reader中打开此PDF并查看结果:

PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
pdfTemplate.setAllSecurityToBeRemoved(true);
PDAcroForm acroForm = docCatalog.getAcroForm();
List fields = acroForm.getFields();     
Iterator fieldsIter = fields.iterator();        
while( fieldsIter.hasNext())
{
    PDField field = (PDField)fieldsIter.next();         
    if(field instanceof PDTextbox){
        ((PDTextbox)field).setValue("STATIC PDFBOX EDIT");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我最终保存了表格.对于静态PDF:

  • PDF版本:1.6(Acrobat 7.x)
  • PDF版本:1.7(Acrobat 8​​.x)

这很好用.我可以在Adobe Reader XI中打开文档,并在表单中查看正确的值.

对于静态PDF:

  • PDF版本:1.7 Adob​​e Extension Level 3(Acrobat 9.x)
  • PDF版本:1.7 Adob​​e Extension Level 8(Acrobat X)
  • PDF版本:1.7 Adob​​e Extension Level 11(Acrobat XI)

这似乎不起作用.当我在Adobe Reader XI中打开生成的表单时,字段似乎不会填充.但是,如果我在我的Firefox或Chrome浏览器的PDF查看器中打开PDF,则字段显示为填充在那里.

如何设置这些字段,以便在Adobe Reader XI中查看时显示值?

编辑:示例PDF可以在这里找到:https://github.com/bamundson/PDFExample

java adobe-reader pdfbox

11
推荐指数
1
解决办法
7114
查看次数

来自现有 JSON 的 Springfox Swagger Ui

我有一个 gradle 支持的SpringBoot应用程序,我们最初只是在其中创建我们的
REST 控制器,然后使用@EnableSwagger2注释来创建我们的 swagger UI。这工作得很好,但现在我们想过渡到 API 优先的方法。

所以这意味着我们现在正在创建我们的swagger.json第一个,然后swagger-codegen用于生成我们的 Java 接口/控制器以在我们的 SpringBoot 应用程序中使用。我现在正试图弄清楚如何只告诉springfox-swagger-ui使用swagger.json我们创建的,而不是查看 Java 代码以在事后生成 UI。在我看来,这是正确的方法,以避免从本质上springfox-swagger-ui重新生成swagger.json幕后可能引起的任何不一致。

我该如何配置这种行为?谢谢。

java swagger-ui spring-boot springfox swagger-codegen

5
推荐指数
1
解决办法
3048
查看次数