首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pdf表单上使用复选框时出现pdftk错误

在pdf表单上使用复选框时出现pdftk错误
EN

Stack Overflow用户
提问于 2014-02-13 05:06:14
回答 1查看 598关注 0票数 3

当我在pdf表单上使用checkbox时,pdftk显示以下错误,并且没有创建输出pdf。

未处理的Java异常:

未处理的Java异常:

java.lang.NullPointerException

代码语言:javascript
复制
at gnu.gcj.runtime.NameFinder.lookup(libgcj.so.12)
代码语言:javascript
复制
at java.lang.Throwable.getStackTrace(libgcj.so.12)
代码语言:javascript
复制
at java.lang.Throwable.stackTraceString(libgcj.so.12)
代码语言:javascript
复制
at java.lang.Throwable.printStackTrace(libgcj.so.12)
代码语言:javascript
复制
at java.lang.Throwable.printStackTrace(libgcj.so.12)
EN

回答 1

Stack Overflow用户

发布于 2020-06-20 01:17:54

今天我在Checkbox上遇到了类似的问题。我还看到了java.lang.NullPointerException错误。经过调查,我发现这是因为我的可填充复选框使用自定义字形图标('X')作为复选标记,而不是默认样式。

所以在阅读了这个答案https://stackoverflow.com/a/29034948/11898471之后,它通过去掉我的自定义复选框图标来解决这个问题。没有看到你的代码,我不知道你可能会怎么做你的方式,但我的情况是扁平客户上传的PDF表单与自定义复选框。我所做的是提取所有表单数据并重新填充表单,以便它们摆脱所有自定义复选框标记。类似于:

代码语言:javascript
复制
            $pdf = new Pdf($uploadedFile->getRealPath(), ['command' => env('PDFTK_PATH')]);

            /* Extract form field to remove custom markup field that cannot be filled. Eg: custom checkbox icon  */
            $pdf2 = new Pdf($uploadedFile->getRealPath(), ['command' => env('PDFTK_PATH')]);
            $data = $pdf2->getDataFields();
            $data = (array) $data;
            $fill_data = [];
            foreach ($data as $field) {
                if (isset($field['FieldValue'])) {
                    $fill_data[$field['FieldName']] = $field['FieldValue'];
                }
            }
            /* Update form field */
            $pdf->fillForm($fill_data)
                ->flatten()
                ->saveAs(storage_path('app/'.$flattenedFilename));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21739605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档