A. c#生成的pdf的大小為0kb
0KB那就是生成的PDF文檔沒內容,看下你的代碼是哪裡有問題。建議可以通過PDF庫來實現生成文檔。可參考下面的代碼方法:
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace CreatePDF_PDF
{
class Program
{
static void Main(string[] args)
{
//初始化一個PdfDocument類實例
PdfDocument document = new PdfDocument();
//聲明 PdfUnitConvertor和PdfMargins類對象
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margins = new PdfMargins();
//設置頁邊距
margins.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margins.Bottom = margins.Top;
margins.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margins.Right = margins.Left;
//新添加一個A4大小的頁面
PdfPageBase page = document.Pages.Add(PdfPageSize.A4, margins);
//自定義PdfTrueTypeFont、PdfBrush實例,設置字體類型、字型大小和字體顏色
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("楷體", 15f),true);
PdfBrush brush = PdfBrushes.Red;
//調用DrawString()方法在指定位置寫入文本
string text = ("《蝶戀花 送春》 樓外垂楊千萬縷,欲系青春,少住春還去。猶自風前飄柳絮,隨春且看歸何處? 綠滿山川聞杜宇,便作無情,莫也愁人苦。把酒送春春不語,黃昏卻下瀟瀟雨。");
page.Canvas.DrawString(text, font, brush, 15, 13);
//載入圖片,並調用DrawImage()方法在指定位置繪入圖片
PdfImage image = PdfImage.FromFile("img.jpg");
float width = image.Width;
float height = image.Height;
page.Canvas.DrawImage(image, 15, 100, width, height);
//保存並打開文檔
document.SaveToFile("PDF創建.pdf");
System.Diagnostics.Process.Start("PDF創建.pdf");
}
}
}
執行程序後,在C: Studio 2013ProjectsCreatePDF_PDFCreatePDF_PDFinDebug路徑下可查看生成的文檔。可以看到生成的文檔大小,如圖: