aspose pdf 转 html_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:21:01
原創
2107 人瀏覽過

登入後複製

包下载 : http://download.csdn.net/download/ahgaoyong/9374140

package com.demo;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import com.aspose.pdf.Document;import com.aspose.pdf.HtmlSaveOptions;import com.aspose.pdf.HtmlSaveOptions.CssSavingInfo;import com.aspose.pdf.HtmlSaveOptions.CssSavingStrategy;import com.aspose.pdf.HtmlSaveOptions.CssUrlMakingStrategy;import com.aspose.pdf.HtmlSaveOptions.CssUrlRequestInfo;import com.aspose.pdf.HtmlSaveOptions.ResourceSavingStrategy;import com.aspose.pdf.License;import com.aspose.pdf.SaveOptions.ResourceSavingInfo;/** *  * 由于ASPOSE比较吃内存,操作大一点的文件就会堆溢出,所以请先设置好java虚拟机参数:-Xms1024m -Xmx1024m(参kao值)<br> *  * @author Spark * */public class TestPdf {    private static InputStream license;    private static InputStream pdf;    /**     * 获取license     *      * @return     */    public static boolean getLicense() {        boolean result = false;        try {            license = TestPdf.class.getClassLoader().getResourceAsStream("\\license.xml");// license路径            pdf = TestPdf.class.getClassLoader().getResourceAsStream("\\人人都是产品经理.pdf");// 原始pdf路径            License aposeLic = new License();            aposeLic.setLicense(license);            result = true;        } catch (Exception e) {            e.printStackTrace();        }        return result;    }    /**     *      * @param args     */    public static void main(String[] args) {        // 验证License        if (!getLicense()) {            return;        }        try {            long old = System.currentTimeMillis();            Document pdfDocument = new Document(pdf);            File file = new File("D:\\d\\test.html");// 输出路径            FileOutputStream fileOS = new FileOutputStream(file);                        HtmlSaveOptions options = new HtmlSaveOptions();            options.CustomResourceSavingStrategy = new ResourceSavingStrategy() {				@Override				public String invoke(ResourceSavingInfo arg0) {					try {						File file = new File("D:\\d\\"+arg0.SupposedFileName);// 输出路径						byte[] b =IOUtils.toByteArray(arg0.ContentStream.toInputStream());						FileOutputStream fileOS = new FileOutputStream(file);						fileOS.write(b);					} catch (FileNotFoundException e) {						// TODO Auto-generated catch block						e.printStackTrace();					} catch (IOException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}					return arg0.SupposedFileName;				}			};			options.CustomCssSavingStrategy = new CssSavingStrategy() {				@Override				public void invoke(CssSavingInfo arg0) {					try {						File file = new File(arg0.SupposedURL);// 输出路径						byte[] b =IOUtils.toByteArray(arg0.ContentStream.toInputStream());						FileOutputStream fileOS = new FileOutputStream(file);						fileOS.write(b);					} catch (FileNotFoundException e) {						// TODO Auto-generated catch block						e.printStackTrace();					} catch (IOException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}			};			options.CustomStrategyOfCssUrlCreation = new CssUrlMakingStrategy() {				@Override				public String invoke(CssUrlRequestInfo arg0) {					return "D:\\d\\test.css";				}			};                        pdfDocument.save(fileOS, options);            long now = System.currentTimeMillis();            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒\n\n" + "文件保存在:" + file.getPath());        } catch (Exception e) {            e.printStackTrace();        }    }}
登入後複製



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!