Java将djvu文件转成pdf

编程入门 行业动态 更新时间:2024-10-28 13:14:34

Java将djvu文件<a href=https://www.elefans.com/category/jswz/34/1767796.html style=转成pdf"/>

Java将djvu文件转成pdf

需求来源

迫于有部分资源是djvu格式的文件,需要预览这部分文件,web端无法直接预览djvu,所以需要将djvu转成pdf。

转换方法

简单来说就是先把djvu文件转换成tiff文件,再将tiff文件转换成pdf文件。

Ubuntu服务器

如果服务器是Ubuntu系统,那么有直接现成的方案;

方案来自于Ubuntu社区,亲测可用,地址:[ubuntu] How to convert djvu to pdf

1. 安装依赖

sudo apt-get install okular-extra-backends;
sudo apt-get install evince;
sudo apt-get install libtiff-tools;
sudo apt-get install libevdocument1;
sudo apt-get install libevview;
sudo apt-get install djvulibre-bin;
sudo apt-get install libdjvulibre21;

2. 转化文件

ddjvu -format=tiff file_name.djvu file_name.tiff
tiff2pdf -j -o file_name.pdf file_name.tiff

ile_name.djvu为需要转换的djvu文件,file_name.tiff为tiff文件名,file_name.pdf为最终的pdf文件名

Centos服务器

因为目前业务都是在Centos7上运行,因为这个需求要换成Ubuntu不现实,但是Centos7又没有找到现成的方案,但是都是Linux服务器嘛,应该都是互通的,所以就找了一下centos上相应的依赖来测试,也可以完成转换。

1. 安装依赖

注意这里必须先要安装tiff依赖,再安装djvulibre。

sudo yum install ImageMagick;
sudo yum install evince;
sudo yum install gcc;
sudo yum install gcc-c++;wget .6.0rc2.tar.gz;
tar -zxvf tiff-4.6.0rc2.tar.gz;
cd tiff-4.6.0;
sudo ./configure;
sudo make;
sudo make install;wget .5.28/djvulibre-3.5.28.tar.gz;
tar -zxvf djvulibre-3.5.28.tar.gz;
cd djvulibre-3.5.28;
sudo ./configure --disable-desktopfiles;
sudo make;
sudo make install;

2. 转化文件

ddjvu -format=tiff file_name.djvu file_name.tiff
tiff2pdf -j -o file_name.pdf file_name.tiff

ile_name.djvu为需要转换的djvu文件,file_name.tiff为tiff文件名,file_name.pdf为最终的pdf文件名

Java调用

public static void main(String[] args) {/*** 传入djvu和下载pdf文件的代码请自行搞定哈*/try {ProcessBuilder processBuilder = new ProcessBuilder();processBuildermand("sh", "-c", "ddjvu -format=tiff test.djvu test.tiff");Process process = processBuilder.start();int exitCode = process.waitFor();System.out.println("covert djvu to tiff exit code: " + exitCode);processBuilder = new ProcessBuilder();processBuildermand("sh", "-c", "tiff2pdf -j -o test.pdf test.tiff");Process process = processBuilder.start();int exitCode = process.waitFor();System.out.println("covert tiff to pdf exit code: " + exitCode);File file = new File("test.pdf");System.out.println("pdf file covert result: " + file.exists());} catch (IOException | InterruptedException e) {e.printStackTrace();}
}

 转换结果

转换问题

如果执行命令的时候,报 ddjvu tiff output not complied 错误,

请先安装好tiff依赖,再重新安装djvulibre;

其他系统安装djvulibre,也可以参照GitHub的指示进行

djvulibre地址:

 

更多推荐

Java将djvu文件转成pdf

本文发布于:2023-12-04 02:59:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1659557.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转成   文件   Java   djvu   pdf

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!