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路径下可查看生成的文档。可以看到生成的文档大小,如图: