pdf2htmEx轉換效果優秀,可以將pdf轉換為html文件,轉換速度很快
有兩種輸出形式,
1、一個pdf對應一個html文件,轉換出來的html文件較大
2、一個pdf對應多個html頁面,且可實現頁面自動懶加載
缺點:轉換出來的html文件比原始文件要大、對html5支持的好,對IE8及以下兼容差。
官方提供的代碼依賴項目繁多,且安裝復雜,對centos支持差,有提供docker鏡像。
個別pdf轉換之后會生成woff字體文件,導致生成的體積比較大。
對中文字體支持的不好
官方demo:
http://coolwanglu.github.io/pdf2htmlEX/demo/geneve.html
http://coolwanglu.github.io/pdf2htmlEX/demo/demo.html
http://coolwanglu.github.io/pdf2htmlEX/demo/cheat.html
教程:
http://blog.csdn.net/chijiaodaxie/article/details/47684089
http://blog.csdn.net/chijiaodaxie/article/details/50974314
http://blog.csdn.net/knight_zhen/article/details/48268841
docker安裝:docker安裝不再介紹
安裝docker鏡像,運行如下命令:docker pull bwits/pdf2htmlex
原生安裝:sudo add-apt-repository ppa:coolwanglu/pdf2htmlex && sudo apt-get update && sudo apt-get install pdf2htmlEX
手動編譯源文件安裝(ubuntu14.04):
1、源文件安裝之前需要注意設置INCLUDE_PATH環境變量,既設置在 ~/.bashrc文件的末尾添加export INCLUDE_PATH=/usr/include/glib-2.0
2、安裝FontForge
2.1、安裝git
sudo apt-get install git;
2.2、安裝依賴
sudo apt-get install packaging-dev pkg-config python-dev libpango1.0-dev libglib2.0-dev libxml2-dev giflib-dbg libjpeg-dev libtiff-dev uthash-dev libspiro-dev build-essential automake flex bison;
2.3、安裝unifont
sudo apt-get install unifont;
2.4、編譯並安裝libspiro
git clone https://github.com/fontforge/libspiro.git
cd libspiro
autoreconf -i
automake --foreign -Wall
./configure
make
sudo make install
2.5、編譯並安裝libuninameslist
git clone https://github.com/fontforge/libuninameslist.git
cd libuninameslist
autoreconf -i
automake --foreign
./configure
make
sudo make install
2.6、編譯並安裝fontforge
cd fontforge;
./bootstrap;
./configure;
make;
sudo make install;
sudo ldconfig;
3、安裝poppler
wget https://poppler.freedesktop.org/poppler-0.49.0.tar.xz
./configure --enable-xpdf-headers --prefix=/usr
make;
sudo make install;
4、安裝pdf2htmlEX
git clone git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake . && make && sudo make install
操作系統:ubuntu14.04
內存:1GB
處理器:單核
測試1:
測試步驟:
1:在~/目錄創建pdf子目錄,將spring-framework-reference.pdf放入pdf目錄,
2:運行命令:sudo pdf2htmlEX --zoom 1.3 spring-framework-reference.pdf
待轉換的pdf文件:
內容:純文字(有表格)
大小:5.46M
頁數:907頁
生成的html:
形式 |
用時 |
總輸出大小 |
單個頁面大小 |
單個文件 |
1分24秒 |
26.3M |
無 |
多個文件(懶加載) |
1分22秒 |
22.9M |
20k左右 |
測試2:
測試步驟:
1:在~/目錄創建pdf子目錄,將spring-framework-reference.pdf放入pdf目錄,
2:運行命令:sudo pdf2htmlEX --zoom 1.3 GROOVY入門經典.pdf
待轉換的pdf文件:
內容:掃描的pdf
大小:15.6M
頁數:372頁
生成的html:
形式 |
用時 |
總輸出大小 |
單個頁面大小 |
單個文件 |
1分37秒 |
53.9M |
無 |
多個文件(懶加載) |
1分34秒 |
40.5M |
100k左右 |
測試3
測試步驟:
1:在~/目錄創建pdf子目錄,將spring-framework-reference.pdf放入pdf目錄,
2:單個文件運行命令:sudo pdf2htmlEX --zoom 1.3 RocketMQ_design.pdf
3:多個文件運行命令:sudo pdf2htmlEX --embed cfijo --split-pages 1 --dest-dir out --page-filename RocketMQ_design-%d.page ~/pdf/RocketMQ_design.pdf
待轉換的pdf文件:
內容:有圖片及流程圖的文字pdf
大小:1.25M
頁數:37頁
生成的html:
形式 |
用時 |
總輸出大小 |
單個頁面大小 |
單個文件 |
1分37秒 |
53.9M |
無 |
多個文件(懶加載) |
1分34秒 |
40.5M |
100k左右 |
使用pdftoppm將pdf轉換成圖片
教程:https://websetnet.com/zh/convert-pdf-bitmap-image-pdftoppm/
缺點:對中文支持力度不夠,轉換時間長,輸出文件大
測試1:
測試步驟:
1:在~/目錄創建pdf子目錄,將spring-framework-reference.pdf放入pdf目錄,
2:分別運行命令:
pdftoppm -jpeg spring-framework-reference.pdf spring_framework_reference
pdftoppm -png spring-framework-reference.pdf spring_framework_reference
待轉換的pdf文件:
內容:純文字(有表格)
大小:5.46M
頁數:907頁
生成的圖片:
格式 |
用時 |
總輸出大小 |
單個頁面大小 |
畫面比例 |
jpeg |
1分05秒 |
207M |
250k左右 |
100% |
png |
5分58秒 |
254M |
300k左右 |
100% |
測試2:
測試步驟:
1:在~/目錄創建pdf子目錄,將GROOVY入門經典.pdf放入pdf目錄,
2:分別運行命令:
pdftoppm -jpeg GROOVY入門經典.pdf GROOVY入門經典
pdftoppm -png GROOVY入門經典.pdf GROOVY入門經典
待轉換的pdf文件:
內容:掃描的pdf
大小:15.6M
頁數:372頁
生成的圖片:
格式 |
用時 |
總輸出大小 |
單個頁面大小 |
畫面比例 |
jpeg |
0分21秒 |
54.4M |
150k左右 |
100% |
png |
1分44秒 |
37.6M |
100k左右 |
100% |