摘要:[ASP.NET] iTextSharp產生PDF檔...Part_2
這次要作利用 iTextSharp 元件產生PDF檔,並讓USER可以下載
///
/// 利用Web Application在Server Memory產生PDF檔後,使用者可以自行下載瀏覽或存檔,採用的是PdfWriter Class
///
private void GetPDF_1()
{
Document doc = new Document(PageSize.A4, 50, 50, 80, 50); // 設定PageSize, Margin, left, right, top, bottom
MemoryStream ms = new MemoryStream();
PdfWriter pw = PdfWriter.GetInstance(doc, ms);
//// 字型設定
// 在PDF檔案內容中要顯示中文,最重要的是字型設定,如果沒有正確設定中文字型,會造成中文無法顯示的問題。
// 首先設定基本字型:kaiu.ttf 是作業系統系統提供的標楷體字型,IDENTITY_H 是指編碼(The Unicode encoding with horizontal writing),及是否要將字型嵌入PDF 檔中。
// 再來針對基本字型做變化,例如Font Size、粗體斜體以及顏色等。當然你也可以採用其他中文字體字型。
BaseFont bfChinese = BaseFont.CreateFont("C:\\Windows\\Fonts\\kaiu.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font ChFont = new Font(bfChinese, 12);
Font ChFont_green = new Font(bfChinese, 40, Font.NORMAL, BaseColor.GREEN);
Font ChFont_msg = new Font(bfChinese, 12, Font.ITALIC, BaseColor.RED);
// 開啟檔案寫入內容後,將檔案關閉。
doc.Open();
doc.Add(new Paragraph(10f, "Hello~!大家好.....", ChFont_green));
doc.Close();
// 在Client端顯示PDF檔,讓USER可以下載
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Y2J.pdf");
Response.ContentType = "application/octet-stream";
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.End();
}
之後視窗會跳出名為 Y2J.pdf 供使用者下載
打開檔案如下圖:
Y2J's Life:http://kimenyeh.blogspot.tw/