Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PDF压缩-HTML到PDF(wkhtmltopdf) 背景_Java_Pdf_Merge_Compression_Wkhtmltopdf - Fatal编程技术网

Java PDF压缩-HTML到PDF(wkhtmltopdf) 背景

Java PDF压缩-HTML到PDF(wkhtmltopdf) 背景,java,pdf,merge,compression,wkhtmltopdf,Java,Pdf,Merge,Compression,Wkhtmltopdf,我正在从事一个Scala/Java项目,其中我们将单个HTML文件转换为PDF文件。然后我们将单个文件合并为一个更大的完整PDF文件 对于我们正在使用的转换,它构建在之上。对于我们使用的合并 制作单个文件的原因有点复杂,但需要注意的是,我们不能一次性制作一个大的PDF,而必须先制作单个文件 问题 最初,我们对这种方法没有任何问题,但是随着系统的发展,最终的PDF文件也会出现问题。我们从2MB-3MB的文件转到20MB的文件。我想知道是否有任何明显的压缩方法或技术,我们可以使用 各个文件之间有很多

我正在从事一个Scala/Java项目,其中我们将单个HTML文件转换为PDF文件。然后我们将单个文件合并为一个更大的完整PDF文件

对于我们正在使用的转换,它构建在之上。对于我们使用的合并

制作单个文件的原因有点复杂,但需要注意的是,我们不能一次性制作一个大的PDF,而必须先制作单个文件

问题 最初,我们对这种方法没有任何问题,但是随着系统的发展,最终的PDF文件也会出现问题。我们从2MB-3MB的文件转到20MB的文件。我想知道是否有任何明显的压缩方法或技术,我们可以使用

各个文件之间有很多共享内容,但由于我们只是将它们合并为独立/独立的文件(如中所述,各个文件中相同的内容没有一个被重用以节省空间),因此降低文件大小没有什么不同

如果我手动压缩最终的PDF文件,它会大大减小文件大小,因为显然有很多重复的内容

因此,一种选择可能是在合并完成后压缩PDF,但我更愿意在合并过程或转换过程中压缩它。 有什么想法吗?

你可以尝试合并,它是Java的,开源的,基于PDFBox的分支。它可以使用对象流生成PDF文件(PDFBox目前不支持该功能),如果它的大小没有减少那么多,您可以尝试通过管道执行“压缩”任务,该任务将通过文档删除未使用的资源并压缩图像

它作为背后的引擎经过了战斗测试,因此,如果您想对它进行快速测试并查看结果,只需下载PDFsam,将合并模块与您的文件一起使用(并启用压缩标志)结果就是Sejda将生成的文件。

您是否尝试过wkhtmltopdf的低质量选项?它将生成的文件的大小从8MB减少到200kb