pd 4 ml技術htmlはpdfを書き出して、中国語を支持して、Linuxに互換性があります

3590 ワード

詳細
JAva htmlからpdfをエクスポートする文章の多くはitextを使用していますが、実際に使用したことがあるのはitextが私たちのニーズを満たすことができず、htmlのスタイルと互換性がないことがあります.また、htmlページからエクスポートした画像からpdfに至るまで処理しにくいことを知っています.Flying Sauserはhtml 2 pdfを実現し、誤り訂正能力が悪い.複数の中国語フォントをサポート(一部の様式では認識できない)、htmlのフォーマットも非常に厳格で、1つのテンプレートを使用する場合はFlying Sauser技術を使用するのが良い選択ですが、不規則なhtmlに対してpdfをエクスポートするのはそれほど適用されません.この場合、他の技術を使用することを考慮しますが、PD 4 MLは私たちのニーズを満たすことができます.PD 4 MLはhtml 2 pdfを実現し、速度が速く、誤り訂正能力が強くて不規則なhtmlタグをフィルタリングすることができて、多種の中国語のフォントをサポートして、cssをサポートします.
package com.pd4ml.pdf; 

import java.awt.Insets; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.StringReader; 

import org.zefer.pd4ml.PD4Constants; 
import org.zefer.pd4ml.PD4ML; 

import com.lowagie.text.FontFactory; 

public class ConverterPdf { 
    public static void main(String[] args) throws Exception { 
        ConverterPdf converter = new ConverterPdf(); 
        converter.generatePDF_2(new File("F:/demo_ch_pd4ml_a.pdf"), "F:/Noname22.html"); 
        File pdfFile = new File("F:/demo_ch_pd4mlssss.pdf"); 
        StringBuffer html = new StringBuffer(); 
        html.append("") 
            .append("") 
            .append("") 
            .append("") 
            .append("") 
            .append("") 
            .append("    ") 
            .append("") 
            .append(""); 
        StringReader strReader = new StringReader(html.toString()); 
        converter.generatePDF_1(pdfFile, strReader); 
    } 
    //     HTML   
    public void generatePDF_1(File outputPDFFile, StringReader strReader) throws Exception { 
        FileOutputStream fos = new FileOutputStream(outputPDFFile); 
        PD4ML pd4ml = new PD4ML(); 
        pd4ml.setPageInsets(new Insets(20, 10, 10, 10)); 
        pd4ml.setHtmlWidth(950); 
        pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4)); 
        pd4ml.useTTF("java:fonts", true); 
        pd4ml.setDefaultTTFs("SimHei", "Arial", "Courier New"); 
        pd4ml.enableDebugInfo(); 
        pd4ml.render(strReader, fos); 
    } 

    // HTML     HTML   
    public void generatePDF_2(File outputPDFFile, String inputHTMLFileName) throws Exception { 
        FileOutputStream fos = new FileOutputStream(outputPDFFile); 
        PD4ML pd4ml = new PD4ML(); 
        pd4ml.setPageInsets(new Insets(5, 20, 20, 20)); 
        pd4ml.setHtmlWidth(1000); 
        pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4)); 
        pd4ml.useTTF("java:fonts", true); 
        pd4ml.setDefaultTTFs("SimHei", "Arial", "Courier New"); 
        pd4ml.enableDebugInfo(); 
        pd4ml.render("file:" + inputHTMLFileName, fos); 
    } 
} 

添付ファイルにはソースコードがあり、pd 4 mlを使用した.jar,ss_css2.jar,fonts.JAr(私のcsdn上にファイルが大きすぎる)ダウンロードアドレス:http://download.csdn.net/detail/sy456zsc/4480028
 
  • ConverterPdf.rar (1020 Bytes)
  • ダウンロード回数:365
  • pd4ml.jar (327.7 KB)
  • ダウンロード回数:460
  • ss_css2.jar (120.4 KB)
  • ダウンロード回数:275