我有这个示例代码,但我没有得到它的工作。我的问题是如何将.wmf文件转换/添加到PDF中。
private void CreatePDF()
{
Document pdfDoc = new Document();
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));
byte[] b = File.ReadAllBytes(@"path.wmf");
iTextSharp.text.Image img1 = new ImgWMF(b);
pdfDoc.Add(img1);
pdfDoc.Close();
}
我试图读取.wmf中的字节并用它创建一个图像,然后尝试将其添加到PDF创建者。
我无法以我猜的方式读出字节。任何帮助表示赞赏。
请问, ChekaZ
答案 0 :(得分:0)
您不需要使用ImgWMF
类;并且您的代码无效,因为您跳过了一个步骤:您没有打开pdfDoc
。
我不是C#开发人员,但这就是我(尝试)修复代码的方式:
Document pdfDoc = new Document();
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));
pdfDoc.Open();
iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf");
pdfDoc.Add(img1);
pdfDoc.Close();
GetInstance()
方法检查您传递的图像文件作为参数。如果这不起作用,请分享抛出的异常。
请注意,您的PDF页面尺寸为A4,图片可能不合适(或页面可能太大)。在这种情况下,您应首先创建图像,然后像这样创建PDF:
iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf");
Document pdfDoc = new Document(img1);
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create));
pdfDoc.Open();
img1.SetAbsolutePosition(0, 0);
pdfDoc.Add(img1);
pdfDoc.Close();