问题
前端项目里pdf预览功能,用的是pdf.js插件,本地运行正常,打包后部署服务器,发现pdf预览内容空白,字体失效了。
问题分析
因为maven打包时会对资源文件进行编译,这导致pdf.js插件的字体包文件被改动了。
解决办法
pom.xml,添加下面配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>map</nonFilteredFileExtension>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>cur</nonFilteredFileExtension>
<nonFilteredFileExtension>bcmap</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>1.3</version>
</dependency>
</dependencies>
</plugin>
这里是把指定后缀名的文件给排除掉,不去做编译处理,可以根据实际需要添加或者修改。
ok,maven clearn ,然后重新打包,再看打包后的文件,上述后缀名的文件应该都不会再被编译了。
文章描述了一种前端项目中使用pdf.js插件预览PDF时遇到的问题,即打包部署到服务器后,PDF内容显示为空白,字体失效。问题根源在于maven打包过程对资源文件的编译导致pdf.js的字体包文件被改动。解决方案是在pom.xml中添加配置,排除特定后缀名的文件(如.map,.pdf,.cur,.bcmap)不进行编译处理,重新打包后,这些文件将保持原样,从而修复PDF预览问题。
823

被折叠的 条评论
为什么被折叠?



