社区
C#
帖子详情
PDF 批量打印
vpgc
2010-03-17 10:46:01
批量打印文件夹内的PDF文件,PDF文件可能是不同幅面的。如:A0-A4。
关键问题是怎么控制打印的幅面。
或者C#下有什么控件可以实现这样的功能?请大家赐教。
...全文
1644
21
打赏
收藏
PDF 批量打印
批量打印文件夹内的PDF文件,PDF文件可能是不同幅面的。如:A0-A4。 关键问题是怎么控制打印的幅面。 或者C#下有什么控件可以实现这样的功能?请大家赐教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jerome2003
2010-12-07
打赏
举报
回复
将CAD图纸批量转换成PDF的功能,上海汉纳的批量打印功能就是解决这个问题的。他们的网页链接是http://www.uhanna.com/SC_GB/AutoCADBatchPlot_SC.html
vpgc
2010-03-24
打赏
举报
回复
多谢各位兄弟,先结贴。改天专门向 logxing请教。
logxing
2010-03-17
打赏
举报
回复
[Quote=引用 9 楼 vpgc 的回复:]
logxing 的需求和我的也差不多。一起问吧。呵呵
[/Quote]
我简单说下解决过程。
1,打印部分
方法1:可以调用adobe reader命令行打印,但会出现adobe reader窗口
方法2:使用pdfbox,里面有打印API
2,变更打印机的缺省papersize
这个必须使用win32api,用。net的printdocument之类的是解决不了的
3,拆分pdf
pdf里含有多页且大小不一致时,必须拆分,因为一个打印命令发出后,就不可能在结束前变更papersize了。因此要把pdf文件拆分成单页的存在临时目录里。
拆分可以使用itextsharp
4,获取打印机的papersize代码,即rawkind代码。不同的打印机编号是不一样的,所以这个步骤不可缺少。
流程
1,获取各大小rawkind号,比如A4=9
2,读入pdf,拆分。(可以用itextsharp)
3,读入拆分后的单页,获取大小(可以用itextsharp),如A4
4,变更打印机的缺省papersize的rawkind为9(win32api)
5,执行打印
6,检查打印队列是否为空(可以用WMI),只有空才可以继续循环,因为下一页papersize可能变了,修改papersize会影响队列里的所有任务。而且队列太多时有时打印任务会丢失。
vpgc
2010-03-17
打赏
举报
回复
logxing 的需求和我的也差不多。一起问吧。呵呵
logxing
2010-03-17
打赏
举报
回复
给客户解决了,但他们似乎根本没意识到这个不容易,郁闷,看在订单价格的面子上算了。
logxing
2010-03-17
打赏
举报
回复
嘿嘿,这个就是关键点了。
[Quote=引用 5 楼 lzsh0622 的回复:]
引用 2 楼 vpgc 的回复:
统一尺寸打印是没有问题的。
目的是 按照幅面实现批量打印。
道理很明白:
1 个PDF文件中,P1-30 是A4
P31 是A3,
P32-49是A4,
P50 是A0。
如果批量打印,打印机怎么送纸?
[/Quote]
lzsh0622
2010-03-17
打赏
举报
回复
一般是集中打印同幅面的, 单独打印少量大幅面的 ,手工整理一下资料。
lzsh0622
2010-03-17
打赏
举报
回复
[Quote=引用 2 楼 vpgc 的回复:]
统一尺寸打印是没有问题的。
目的是 按照幅面实现批量打印。
[/Quote]
道理很明白:
1 个PDF文件中,P1-30 是A4
P31 是A3,
P32-49是A4,
P50 是A0。
如果批量打印,打印机怎么送纸?
vpgc
2010-03-17
打赏
举报
回复
[Quote=引用 3 楼 logxing 的回复:]
楼主的要求和我最近做的相同,不会是我的客户的多手准备吧。。。
[/Quote]
呵呵,那你实现了告诉我一下。谢谢
logxing
2010-03-17
打赏
举报
回复
楼主的要求和我最近做的相同,不会是我的客户的多手准备吧。。。
vpgc
2010-03-17
打赏
举报
回复
统一尺寸打印是没有问题的。
目的是 按照幅面实现批量打印。
lzsh0622
2010-03-17
打赏
举报
回复
观注。
如果是程序动态生成的,可以合并到一个文件,这样能控制打印范围、显示打印进度。
如果方式需要调整最好打印先调整好方向,
如果幅面不同,可以设置按统一格式自动缩放,如统一按A4打印。
按原样打印A0-A4幅面,只能手工,送纸器做不到 A4、A3、A0自动换纸。
铛铛
2010-03-17
打赏
举报
回复
[Quote=引用 18 楼 vpgc 的回复:]
引用 16 楼 logxing 的回复:
引用 13 楼 vpgc 的回复:
用的adobe pdf reader来实现的打印。(axAcroPDF.Print)
这个控件的打印方法都没有对打印幅面的控制。另外就是如你说的会显示 adobe pdf 窗口。
不是用axAcroPDF,客户端不一定都装了acrobat,而且你用这个可能会引起版权问题。
我是说用adobe pdf rea……
[/Quote]
命令行??是cmd的命令行吗??透露一下,谢谢!!
vpgc
2010-03-17
打赏
举报
回复
[Quote=引用 16 楼 logxing 的回复:]
引用 13 楼 vpgc 的回复:
用的adobe pdf reader来实现的打印。(axAcroPDF.Print)
这个控件的打印方法都没有对打印幅面的控制。另外就是如你说的会显示 adobe pdf 窗口。
不是用axAcroPDF,客户端不一定都装了acrobat,而且你用这个可能会引起版权问题。
我是说用adobe pdf reader的命令行。
能控制打印幅面的控件……
[/Quote]
多谢 提醒。
铛铛
2010-03-17
打赏
举报
回复
[Quote=引用 10 楼 logxing 的回复:]
引用 9 楼 vpgc 的回复:
logxing 的需求和我的也差不多。一起问吧。呵呵
我简单说下解决过程。
1,打印部分
方法1:可以调用adobe reader命令行打印,但会出现adobe reader窗口
方法2:使用pdfbox,里面有打印API
2,变更打印机的缺省papersize
这个必须使用win32api,用。net的printdocument之类的是解决不了……
[/Quote]
pdfbox??具体解释一下,Adobe 没有这个组件阿
logxing
2010-03-17
打赏
举报
回复
[Quote=引用 13 楼 vpgc 的回复:]
用的adobe pdf reader来实现的打印。(axAcroPDF.Print)
这个控件的打印方法都没有对打印幅面的控制。另外就是如你说的会显示 adobe pdf 窗口。
[/Quote]
不是用axAcroPDF,客户端不一定都装了acrobat,而且你用这个可能会引起版权问题。
我是说用adobe pdf reader的命令行。
能控制打印幅面的控件或类库就不用想了,要是真有我也不必用那么麻烦的实现了。
vpgc
2010-03-17
打赏
举报
回复
邮件已经发送。
也希望有其他高人相助。
铛铛
2010-03-17
打赏
举报
回复
[Quote=引用 13 楼 vpgc 的回复:]
用的adobe pdf reader来实现的打印。(axAcroPDF.Print)
这个控件的打印方法都没有对打印幅面的控制。另外就是如你说的会显示 adobe pdf 窗口。
另外就是找了个 PDFRender4NET 的控件,现在还没有研究明白怎么使用。
需要的话我发给你。
[/Quote]
发过来我瞧瞧,邮箱:zhaoxp@sipeng.cn
有什么进展就通知我,谢谢了
vpgc
2010-03-17
打赏
举报
回复
用的adobe pdf reader来实现的打印。(axAcroPDF.Print)
这个控件的打印方法都没有对打印幅面的控制。另外就是如你说的会显示 adobe pdf 窗口。
另外就是找了个 PDFRender4NET 的控件,现在还没有研究明白怎么使用。
需要的话我发给你。
铛铛
2010-03-17
打赏
举报
回复
我也在做这个,楼主你是用什么方法打印PDF文件的,方便告诉我一下吗?谢谢
加载更多回复(1)
易语言
PDF
批量
打印
PDF
文件源码
PDF
文件
批量
打印
源码+插件,本软件是调用HWPostil.ocx实现
PDF
批量
打印
的。@359321852。Tags:
PDF
打印
。
java
打印
pdf
文件 也可
批量
打印
java
打印
pdf
文件 ,也可支持
批量
打印
使用ChatGPT解决8个办公自动化问题
一、ChatGPT编写程序 编写VBA程序 二、格式转换问题
批量
转换.xls文件为.xlsx文件
批量
转换.csv文件为.xlsx文件
批量
转换.doc文件为.docx文件
批量
转换Word文件为
pdf
文件
批量
转换.ppt文件为.pptx文件
批量
转换PPT...
PDF
批量
打印
进行
PDF
的文件的
批量
打印
,这样
打印
多文件,不再烦恼了!
python
批量
打印
word、
pdf
文件,可按文件夹一份份
打印
批量
打印
文件夹中的资料,支持一份份
打印
,并且顺序不会乱,比如
打印
项目资料、房地一体资料、档案资料、照片等,python
批量
打印
,附上源代码
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章