简述网站建设的具体步骤,网站建设公司浙江华企,佛山专业英文网站建设,江津区做网站需求来源
迫于有部分资源是djvu格式的文件#xff0c;需要预览这部分文件#xff0c;web端无法直接预览djvu#xff0c;所以需要将djvu转成pdf。
转换方法
简单来说就是先把djvu文件转换成tiff文件#xff0c;再将tiff文件转换成pdf文件。
Ubuntu服务器
如果服务器是U…需求来源
迫于有部分资源是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 -formattiff 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 http://download.osgeo.org/libtiff/tiff-4.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 https://zenlayer.dl.sourceforge.net/project/djvu/DjVuLibre/3.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 -formattiff 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();processBuilder.command(sh, -c, ddjvu -formattiff 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();processBuilder.command(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地址https://github.com/barak/djvulibre