以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- pdf文件打印问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183109) |
-- 作者:ap9709130 -- 发布时间:2022/10/24 18:05:00 -- pdf文件打印问题 老师 如果可以用代码批量打印目录中的pdf 文件,并且可以指定打印机和 打成 A5纸?
|
-- 作者:有点蓝 -- 发布时间:2022/10/24 20:06:00 -- 没有办法 |
-- 作者:ap9709130 -- 发布时间:2022/10/25 16:30:00 -- 老师 我在论坛上找到一个方法,引用 O2S.Components.PDFRender4NET.dll 可以打印出来,也可以指定打印机,但是因为纸张的papersize 属性不是public的,所以要重新生成一个新对象,请看以下代码: Dim File = O2S.Components.PDFRender4NET.PDFFile.Open("D:\\abc.pdf") Dim settings As New System.Drawing.Printing.PrinterSettings \' settings.PrinterName = PrinterName \'打印机名称 Dim ps As System.Drawing.Printing.PaperSize ps.RawKind = 11 Dim pdfPrintSettings As O2S.Components.PDFRender4NET.Printing.PDFPrintSettings = New O2S.Components.PDFRender4NET.Printing.PDFPrintSettings(){PaperSize = ps} \'pdfPrintSettings.PrinterSettings.Copies = PrinterNum Try file.Print(pdfPrintSettings) Catch ex As Exception End Try file.Dispose() 但是会报错,说未声明 papersize ,本人水平有限,请问要如何修改?
[此贴子已经被作者于2022/10/25 16:31:39编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/10/25 16:38:00 -- 最好去看看这个组件的说明文档。 试试 Dim pdfPrintSettings As O2S.Components.PDFRender4NET.Printing.PDFPrintSettings = New O2S.Components.PDFRender4NET.Printing.PDFPrintSettings()pdfPrintSettings.PaperSize = ps
|
-- 作者:ap9709130 -- 发布时间:2022/10/25 21:02:00 -- 有点蓝老师 试出来了,这个组件不支持改的,只支持打印机设置的默认纸张和打印方向。 请问一下老师,可以用代码设置打印机的默认纸张和打印方向吗?
|
-- 作者:有点蓝 -- 发布时间:2022/10/25 21:07:00 -- 设置不了 |
-- 作者:ap9709130 -- 发布时间:2022/10/27 11:14:00 -- 现在不是都在推广电子发票吗?财务那边以后会经常打印pdf发票,打成A5纸,这是一个很大的刚需啊,希望论坛高手们,能想想办法! |
-- 作者:有点蓝 -- 发布时间:2022/10/27 11:18:00 -- Foxtable的execl报表、专业报表,直接打印等功能都可以指定打印机,都可以指定打印纸规格。 但是要控制pdf,那是另外一个东西了。和Foxtable没有什么关系
|
-- 作者:ap9709130 -- 发布时间:2022/10/27 16:26:00 -- 老师 你说的也对,但这个需求后面还是挺多人需要的,大家看看能不能想办法解决吧!
|