iTextSharpでHTMLをPDF,ASPに変換する.NET C#コード

2052 ワード

まずgithubに行ってソースコードをダウンロードします:https://github.com/itext/itextsharp、現在の最新バージョンは5.5.13
解凍後vs 2010でエンジニアリングファイルBuildAllを開き、itextsharpを生成する.xmlworkerプロジェクト
生成されたdllファイルはsrcextrasitextsharp.xmlworker\bin\Debug_woDrawingディレクトリ
自分のプロジェクトにitextsharpを導入する.dllとitextsharp.xmlworker.dll
簡単なHelperクラスを書く
using System;
using System.IO;

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

public class PDFHelper {
    public static void Html2Pdf(string html, string filename) {
            using (Stream fs = new FileStream(filename, FileMode.Create)) {
                using (Document doc = new Document(PageSize.A4)) {

                    PdfWriter writer = PdfWriter.GetInstance(doc, fs);
                    doc.Open();

                    using (StringReader sr = new StringReader(html)) {
                        XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, sr);
                    }

                    doc.Close();
                    
                }
            }
        }

    }

呼び出し:
string file = Server.MapPath("test.pdf");
string html = "";

PDFHelper.Html2Pdf(html, file);

注意:中国語を表示するには中国語のフォントを設定します.デフォルトのフォントでは中国語は表示されません.
 
参照先:
https://stackoverflow.com/questions/25164257/how-to-convert-html-to-pdf-using-itextsharp
https://itextsupport.com/apidocs/iText5/5.5.12/
https://itextpdf.com/en/resources/examples
http://www.codexy.cn/csharp/csharp-tutorial.html
https://www.codeproject.com/Tips/899658/Create-PDF-With-Bookmark-and-TOC-from-HTML-with-iT
https://www.mikesdotnetting.com/article/84/itextsharp-links-and-bookmarks
https://acrobatusers.com/forum/javascript/change-documents-properties-intial-view-js/