包下載 : http://download.csdn.net/download/ahgaoyong/9374140 css
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(); } } }