找回密码
 立即注册

QQ登录

只需一步,快速开始

WB130789

注册会员

2

主题

5

帖子

20

积分

注册会员

积分
20
最新发帖

[已处理] 虚拟打印机求助

WB130789
注册会员   /  发表于:2017-8-3 17:23  /   查看:4024  /  回复:5
网上找了个虚拟打印机的程序,基于leadtools的。可以把打印任务保存成 png 或者pdf  emf 。在保存的时候 png emf都是正确的。可以使用。但是保存成PDF的时候,有很多PDF文件损坏。只有纯文字的页面可以正确保存成PDF 。。。。。打印pdf文件的时候,,,,保存在本的pdf文件全部是损坏的。求告知原因。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-3 17:49:07
沙发
看到你是说有一部分会损坏,可以把会出现错误的文件作为附件发上来,让我这边可以重现问题
回复 使用道具 举报
WB130789
注册会员   /  发表于:2017-8-3 18:37:04
板凳
就是这个文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
WB130789
注册会员   /  发表于:2017-8-3 18:37:59
地板
Richard.Ma 发表于 2017-8-3 17:49
看到你是说有一部分会损坏,可以把会出现错误的文件作为附件发上来,让我这边可以重现问题

你好,我在楼下 上传了文件。你看看。。pdf格式的 保存本地的时候,全部文件损坏
回复 使用道具 举报
WB130789
注册会员   /  发表于:2017-8-3 18:40:27
5#
Richard.Ma 发表于 2017-8-3 17:49
看到你是说有一部分会损坏,可以把会出现错误的文件作为附件发上来,让我这边可以重现问题

我的代码有问题吗
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-4 09:37:12
6#
没有重现你的问题,我这边的操作是在安装v19开发包以后,直接用adobe pdf reader打开的PDF文件,点击打印后选择的LEADTOOLS 19 .NET Printer 32-bit打印机。即可弹出leadtools虚拟打印机演示程序。并选择保存为文档类型的PDF.
实测并没有什么问题。

开发包演示程序目录
C:\LEADTOOLS 19\Shortcuts\Virtual Printer\.NET Class Libraries\Virtual Printer
截取一部分演示程序的保存关键代码,你可以参考,最好还是直接去看开发包里吗的完整源代码
DocumentWriter documentWriter = new DocumentWriter();
               documentWriter.SetOptions(documentFormat, documentOptions);
               documentWriter.BeginDocument(fileName, documentFormat);

               foreach (IntPtr metaFile in _lstMetaFiles)
               {
#if LEADTOOLS_V19_OR_LATER
                  DocumentEmfPage documentPage = new DocumentEmfPage();
#else
                  DocumentPage documentPage = DocumentPage.Empty;
#endif // #if LEADTOOLS_V19_OR_LATER

                  int index = _lstMetaFiles.IndexOf(metaFile);
                  
                  documentPage.EmfHandle = metaFile;

                  if (saveFileDialog.FilterIndex == 2)
                     documentPage.Image = _codec.Load(_tempFiles[index]);

                  documentWriter.AddPage(documentPage);
               }
               documentWriter.EndDocument();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部