要用C#做一个大概这样的打印系统(桌面应用程序),主要打印PDF文件,需要调用的是打印机驱动的API接口,还是要调用“用于打开PDF文件的应用程序的API接口,

陆老师Peter 2019-12-31 01:00:01
要用C#做一个大概这样的打印系统(桌面应用程序),主要打印PDF文件,需要调用的是打印机驱动的API接口,还是要调用“用于打开PDF文件的应用程序的API接口,比如福晰PDF阅读器、Adobe的API接口”?
...全文
492 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
陆老师Peter 2020-01-07
  • 打赏
  • 举报
回复
引用 20 楼 独立观察员的回复:
最后有一招管用(Spire.PDF):
有对应的免费版,可以使用。(FreeSpire.PDF)
https://www.nuget.org/packages/Spire.PDF/


PdfDocumentpdfdocument=newPdfDocument();
pdfdocument.LoadFromFile(pdfPathAndFileName);
pdfdocument.PrinterName="MyPrinter";
pdfdocument.PrintDocument.PrinterSettings.Copies=2;
pdfdocument.PrintDocument.Print();
pdfdocument.Dispose();


使用情况(NuGet版本):
Spire.PDF 会在顶部显示英文的评估版本提示;
FreeSpire.PDF 载入PDF文件时会出错
FreeSpire.Office 可打印不超过10页的PDF文件。
打印速度太慢,不符合要求。还有没有什么方法可以解决呢,泪奔啊T﹏T
陆老师Peter 2020-01-07
  • 打赏
  • 举报
回复
打印速度太慢,不符合要求。还有没有什么方法可以解决呢,泪奔啊T﹏T
独立观察员 2020-01-06
  • 打赏
  • 举报
回复
最后有一招管用(Spire.PDF):
有对应的免费版,可以使用。(FreeSpire.PDF)
https://www.nuget.org/packages/Spire.PDF/


PdfDocumentpdfdocument=newPdfDocument();
pdfdocument.LoadFromFile(pdfPathAndFileName);
pdfdocument.PrinterName="MyPrinter";
pdfdocument.PrintDocument.PrinterSettings.Copies=2;
pdfdocument.PrintDocument.Print();
pdfdocument.Dispose();


使用情况(NuGet版本):
Spire.PDF 会在顶部显示英文的评估版本提示;
FreeSpire.PDF 载入PDF文件时会出错
FreeSpire.Office 可打印不超过10页的PDF文件。
陆老师Peter 2020-01-04
  • 打赏
  • 举报
回复
引用 13 楼 姎楹 的回复:
[quote=引用 12 楼 小陆老师 的回复:]
[quote=引用 10 楼 yangying12138的回复:]打印pdf itextsharp和spire.pdf都可以打印

速度如何呀!我现在主要是打印速度太慢了[/quote]
我用的free spire.pdf 免费的只能打十页,如果超过十页我就先拆分再打印的,速度就跟正常打开打印是一样的。[/quote]
free spire.pdf?有链接吗,看一下,跟 spire.pdf有哪些区别?是不是给强行上水印的那种,付费以后才能去掉水印。
陆老师Peter 2020-01-04
  • 打赏
  • 举报
回复
引用 10 楼 姎楹 的回复:
打印pdf itextsharp和spire.pdf都可以打印

spire.pdf要钱的, itextsharp没试过不知道是否收费?
姎楹 2020-01-04
  • 打赏
  • 举报
回复
引用 15 楼 小陆老师 的回复:
[quote=引用 13 楼 姎楹 的回复:] [quote=引用 12 楼 小陆老师 的回复:] [quote=引用 10 楼 yangying12138的回复:]打印pdf itextsharp和spire.pdf都可以打印
速度如何呀!我现在主要是打印速度太慢了[/quote] 我用的free spire.pdf 免费的只能打十页,如果超过十页我就先拆分再打印的,速度就跟正常打开打印是一样的。[/quote] free spire.pdf?有链接吗,看一下,跟 spire.pdf有哪些区别?是不是给强行上水印的那种,付费以后才能去掉水印。[/quote] 我是从VS017里面的nuget里面找的,https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html 区别就是不要钱,没有水印,只能一次打印10页
陆老师Peter 2020-01-04
  • 打赏
  • 举报
回复
引用 16 楼 姎楹 的回复:
[quote=引用 15 楼 小陆老师 的回复:]
[quote=引用 13 楼 姎楹 的回复:]
[quote=引用 12 楼 小陆老师 的回复:]
[quote=引用 10 楼 yangying12138的回复:]打印pdf itextsharp和spire.pdf都可以打印

速度如何呀!我现在主要是打印速度太慢了[/quote]
我用的free spire.pdf 免费的只能打十页,如果超过十页我就先拆分再打印的,速度就跟正常打开打印是一样的。[/quote]
free spire.pdf?有链接吗,看一下,跟 spire.pdf有哪些区别?是不是给强行上水印的那种,付费以后才能去掉水印。[/quote]

我是从VS017里面的nuget里面找的,https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html
区别就是不要钱,没有水印,只能一次打印10页[/quote]
刚看了一下你给的链接,free spire.pdf 和 spire.pdf 其实就是同一家公司开发出来的呀
陆老师Peter 2020-01-04
  • 打赏
  • 举报
回复
引用 16 楼 姎楹 的回复:
[quote=引用 15 楼 小陆老师 的回复:]
[quote=引用 13 楼 姎楹 的回复:]
[quote=引用 12 楼 小陆老师 的回复:]
[quote=引用 10 楼 yangying12138的回复:]打印pdf itextsharp和spire.pdf都可以打印

速度如何呀!我现在主要是打印速度太慢了[/quote]
我用的free spire.pdf 免费的只能打十页,如果超过十页我就先拆分再打印的,速度就跟正常打开打印是一样的。[/quote]
free spire.pdf?有链接吗,看一下,跟 spire.pdf有哪些区别?是不是给强行上水印的那种,付费以后才能去掉水印。[/quote]

我是从VS017里面的nuget里面找的,https://www.e-iceblue.cn/Downloads/Free-Spire-PDF-NET.html
区别就是不要钱,没有水印,只能一次打印10页[/quote]
“超过十页我就先拆分再打印”,你用哪种方法拆分,我之前用PDF先转换成图片,再用图片生成PDF,可是那样太慢了,而且页数多的时候容易内存溢出。
姎楹 2020-01-03
  • 打赏
  • 举报
回复
引用 12 楼 小陆老师 的回复:
[quote=引用 10 楼 yangying12138的回复:]打印pdf itextsharp和spire.pdf都可以打印
速度如何呀!我现在主要是打印速度太慢了[/quote] 我用的free spire.pdf 免费的只能打十页,如果超过十页我就先拆分再打印的,速度就跟正常打开打印是一样的。
陆老师Peter 2020-01-01
  • 打赏
  • 举报
回复
引用 10 楼 yangying12138的回复:
打印pdf itextsharp和spire.pdf都可以打印
速度如何呀!我现在主要是打印速度太慢了
依然冷暖 2019-12-31
  • 打赏
  • 举报
回复
引用 9 楼 小陆老师的回复:
[quote=引用 6 楼 正怒月神 的回复:]
[quote=引用 5 楼 小陆老师 的回复:]
[quote=引用 2 楼 正怒月神 的回复:]
去下载一个 aspose组件,
基本doc,docx,email,txt等等都能转换为 pdf。
然后打印没问题了。

接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。
自己开发的话,
我个人感觉太不靠谱了。
毕竟人家aspose组件,是收费的。而且不便宜。
但是网上有。。。。你懂得。

直接打印PDF可以吗,还需要转换的话,速度太慢了[/quote]
你搜索一下
aspose-cells
aspose-email
aspose-slides
aspose-words
这些,因为很久之前弄的了。我也不清楚下载地址了。
至于直接打印,我没试过。
因为我们当时的需求是,统一要转换pdf保存一份不可修改的文件存放,并支持打印。[/quote]
就是说,我所有文件都是PDF文件,用你这个方法打印,打印速度如何?方便留一下QQ号来交流吗[/quote] 直接说 加个QQ 义务帮我解决下问题就行了 放心吧 肯定没人加
姎楹 2019-12-31
  • 打赏
  • 举报
回复
打印pdf itextsharp和spire.pdf都可以打印
陆老师Peter 2019-12-31
  • 打赏
  • 举报
回复
引用 6 楼 正怒月神 的回复:
[quote=引用 5 楼 小陆老师 的回复:]
[quote=引用 2 楼 正怒月神 的回复:]
去下载一个 aspose组件,
基本doc,docx,email,txt等等都能转换为 pdf。
然后打印没问题了。

接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。
自己开发的话,
我个人感觉太不靠谱了。
毕竟人家aspose组件,是收费的。而且不便宜。
但是网上有。。。。你懂得。

直接打印PDF可以吗,还需要转换的话,速度太慢了[/quote]
你搜索一下
aspose-cells
aspose-email
aspose-slides
aspose-words
这些,因为很久之前弄的了。我也不清楚下载地址了。
至于直接打印,我没试过。
因为我们当时的需求是,统一要转换pdf保存一份不可修改的文件存放,并支持打印。[/quote]
就是说,我所有文件都是PDF文件,用你这个方法打印,打印速度如何?方便留一下QQ号来交流吗
陆老师Peter 2019-12-31
  • 打赏
  • 举报
回复
引用 7 楼 assky124 的回复:
Aspose.Pdf 把页面渲染成图片,然后用PrintDocument打印。
也可以用免费的渲染引擎pdfium,GitHub上有封装的.net版的

这样会不会太慢
assky124 2019-12-31
  • 打赏
  • 举报
回复
Aspose.Pdf 把页面渲染成图片,然后用PrintDocument打印。 也可以用免费的渲染引擎pdfium,GitHub上有封装的.net版的
正怒月神 2019-12-31
  • 打赏
  • 举报
回复
引用 5 楼 小陆老师 的回复:
[quote=引用 2 楼 正怒月神 的回复:] 去下载一个 aspose组件, 基本doc,docx,email,txt等等都能转换为 pdf。 然后打印没问题了。 接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。 自己开发的话, 我个人感觉太不靠谱了。 毕竟人家aspose组件,是收费的。而且不便宜。 但是网上有。。。。你懂得。
直接打印PDF可以吗,还需要转换的话,速度太慢了[/quote] 你搜索一下 aspose-cells aspose-email aspose-slides aspose-words 这些,因为很久之前弄的了。我也不清楚下载地址了。 至于直接打印,我没试过。 因为我们当时的需求是,统一要转换pdf保存一份不可修改的文件存放,并支持打印。
陆老师Peter 2019-12-31
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
去下载一个 aspose组件,
基本doc,docx,email,txt等等都能转换为 pdf。
然后打印没问题了。

接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。
自己开发的话,
我个人感觉太不靠谱了。
毕竟人家aspose组件,是收费的。而且不便宜。
但是网上有。。。。你懂得。

直接打印PDF可以吗,还需要转换的话,速度太慢了
陆老师Peter 2019-12-31
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
去下载一个 aspose组件,
基本doc,docx,email,txt等等都能转换为 pdf。
然后打印没问题了。

接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。
自己开发的话,
我个人感觉太不靠谱了。
毕竟人家aspose组件,是收费的。而且不便宜。
但是网上有。。。。你懂得。

接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。
自己开发的话,
我个人感觉太不靠谱了。
毕竟人家aspose组件,是收费的。而且不便宜。
但是网上有。。。。你懂得。
能在哪里弄到免费版吗,大神江湖求救。谢谢了。
陆老师Peter 2019-12-31
  • 打赏
  • 举报
回复
引用 1 楼 assky124 的回复:
你这些文件都不是PDF啊 福昕和AdobeReader都有COM,应该能嵌入到程序的

我明白这些不是PDF,我只是用这些作为例子而已。真正用的时候都是PDF文件。
正怒月神 2019-12-31
  • 打赏
  • 举报
回复
去下载一个 aspose组件, 基本doc,docx,email,txt等等都能转换为 pdf。 然后打印没问题了。 接着就是这些单面,双面的问题了。这个好像在aspose组件里也有设置的。 自己开发的话, 我个人感觉太不靠谱了。 毕竟人家aspose组件,是收费的。而且不便宜。 但是网上有。。。。你懂得。
加载更多回复(1)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧