>웹 프론트엔드 >HTML 튜토리얼 >aspose pdf 转 html_html/css_WEB-ITnose

aspose pdf 转 html_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:21:012173검색

   

包下载 : 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();        }    }}



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.