使用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>