aspose pdf 转 html_html/css_WEB-ITnose
包下载 : 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(); } }}

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The article discusses the HTML <datalist> element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

The article discusses the <iframe> tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The article discusses the HTML <progress> element, its purpose, styling, and differences from the <meter> element. The main focus is on using <progress> for task completion and <meter> for stati

The article discusses the HTML <meter> element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates <meter> from <progress> and ex

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

This article explains the HTML5 <time> element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit
