C 匯出HTML到PDF元件 Pechkin

2022-02-25 01:33:34 字數 1541 閱讀 3392

c#匯出pdf功能是開發中經常遇到的功能,我們採用第三方的元件,比如 itextsharp, aspose等,還能搜到一些開源的類庫,

但是對於一些內容複雜樣式豐富的pdf,我們希望通過傳入乙個url直接生成乙個pdf,並且不能與網頁原版差異太大,pechkin倒是不錯,相對來說差異很小。

在 nuget 管理器中搜尋「pechkin」,請選擇 cpechkin for .net20+,這個元件是作者在 pechkin 基礎上修改的,剔除了 common.loging 依賴,描述中說專案必須是x86編譯,但我發現,設定成 any cpu也可以,但是如果是web專案,部署到iis後,應用程式池高階設定中必須選擇啟用32位應用程式,否則執行會報錯。

包載入完畢後,會在專案根目錄下放置幾個dll,這些是 pechkin 依賴的,如果想刪除,請先將這幾個dll拷貝到bin下

編譯後,bin下面有7個相關的dll,這就是 pechkin 的全部

呼叫**很簡單,兩行就搞定了,setmargins 設設定pdf的頁邊距。

pechkin.synchronized.synchronizedpechkin sc = new pechkin.synchronized.synchronizedpechkin(new pechkin.globalconfig().setmargins(new system.drawing.printing.margins(20, 20, 20, 20

)));

byte buf = sc.convert(new

uri(previewurl));

var ms = new

system.io.memorystream(buf);

var fn = string.format("

report_.pdf

", reportno);

logger.instance.writeline(

"generate a pdf from url

", previewurl);

return

new list;

得到乙個 byte後,你可以寫入乙個檔案產生乙個pdf。我在**中寫入乙個memorystream,然後加入郵件的附件傳送,很方便。

pechkin也支援傳入一段html**,生成乙個pdf。

再看生成出來的pdf,左邊是pdf,右邊是原版網頁,差別不大,就是**的背景色丟失。

SSIS匯出資料到PDF

環境 ssis 2008,ssrs 2008 解決思路 用過ssrs的朋友都知道,其中的報表在開啟之後可以手動匯出成pdf,excel等格式的檔案,也可以右鍵報表拷貝其報表位址,在該位址中新增 rs format pdf,複製貼上到瀏覽器中,便會出現pdf檔案儲存框。解答方法 在ssis中引用scr...

C 網頁匯出PDF

注意 在cpechkin使用的時候 目標平台必須使用x86 設定邊緣距離 setmargins new margins 100,100,100,100 獲取網頁上的資料 byte buf sc.convert new uri pdf 儲存的路徑 string fn d pechkintest.pdf...

利用iText技術匯出PDF到本地

從資料庫將資料 用pdf匯出 模擬列表資料 listlist new arraylist string ss1 string ss2 string ss3 list.add ss1 list.add ss2 list.add ss3 寫出乙個pdf的文件檔案 try pdfptable.getdef...