将PDFsharp文档发送到WCF服务并保存返回错误“;无法保存没有页面的PDF文档";
我有一个由PDFsharp生成的PDF文档,并在WCF客户端中正确显示。文档由一页组成,该页又包含一个图像。代码为:将PDFsharp文档发送到WCF服务并保存返回错误“;无法保存没有页面的PDF文档";,wcf,bytearray,pdfsharp,Wcf,Bytearray,Pdfsharp,我有一个由PDFsharp生成的PDF文档,并在WCF客户端中正确显示。文档由一页组成,该页又包含一个图像。代码为: PdfDocument d = new PdfDocument(); d.Info.Title = "Temporary Passport Document"; d.Info.Title = applicant.ApplID + " " + initials + " - Passport"; PdfPage p = new PdfPage(); d.AddPage(p); XG
PdfDocument d = new PdfDocument();
d.Info.Title = "Temporary Passport Document";
d.Info.Title = applicant.ApplID + " " + initials + " - Passport";
PdfPage p = new PdfPage();
d.AddPage(p);
XGraphics gfx = XGraphics.FromPdfPage(p);
XImage img = XImage.FromFile(passport.AttachmentPath);
p.Width = img.Size.Width + 40;
p.Height = img.Size.Height + 40;
gfx.DrawImage(img, 20, 20);
使用以下代码将PDF文档保存到字节[](d是PDFSharp文档,passport.PassportScan是字节[]):
字节[]被发送到WCF服务以保存它。因此,我将字节[]转换回PDFsharp文档,并尝试使用以下代码保存它:
PdfDocument d = new PdfDocument(new MemoryStream(pPassport.PassportScan));
d.Save(RecruitAidPathRoot + "100104 - JPD - John Paul Doe\\" + "JPD - file.pdf");
执行最后一行时,出现错误“无法保存没有页面的PDF文档”
客户机中的文档包含1页,因此服务中的文档也应该包含1页,对吗
提前感谢。您正在调用的方法具有以下签名:
公共PdfDocument(Stream outputStream)
说明如下:
使用指定的流创建新的PDF文档。
在文档关闭之前不会使用流,此时文档将自动保存。
对于使用此构造函数创建的文档,不要调用Save(),只需调用Close()。
要打开现有的PDF文件,请使用PdfReader类
使用PdfReader类的Open方法:
公共静态PdfDocument Open(Stream-Stream)
。您正在调用的方法具有以下签名:公共PdfDocument(Stream-outputStream)
说明如下:
使用指定的流创建新的PDF文档。
在文档关闭之前不会使用流,此时文档将自动保存。
对于使用此构造函数创建的文档,不要调用Save(),只需调用Close()。
要打开现有的PDF文件,请使用PdfReader类
请改用PdfReader类的Open方法:
publicstaticpdfdocumentopen(Stream)
。谢谢您的帮助。我最后走了另一条路。我使用File.writealBytes保存了字节[]。谢谢您的帮助。我最后走了另一条路。我使用File.writealBytes保存了字节[]。
PdfDocument d = new PdfDocument(new MemoryStream(pPassport.PassportScan));
d.Save(RecruitAidPathRoot + "100104 - JPD - John Paul Doe\\" + "JPD - file.pdf");