使用itextpdf pdf文件模板生成文件在window下报错,在Macos下正常,也有在windows正常的情况。
报错信息如下:
com.itextpdf.text.exceptions.InvalidPdfException: Rebuild failed: trailer not found.; Original message: xref subsection not found at file pointer
maven打包项目的时候pom.xml配置文件里可以配置对项目进行统一编码,但是部分文件不需要进行重新编码,例如: PDF模版,证书文件;重新编码后可能导致PDF模版,证书不可用。需要过滤掉不需要编码的文件:过滤后缀为.pdf,.crt或者.p8的所有文件,不对其进行统一编码。需在pom.xml文件中配置nonFilteredFileExtension标签
如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>$[*]</delimiter>
</delimiters>
<!-- 过滤后缀不需要转码的文件后缀名.crt/.p8-->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>crt</nonFilteredFileExtension>
<nonFilteredFileExtension>p8</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
