Foxtable(狐表)用户栏目专家坐堂 → 商业版转开发版后出现问题


  共有3671人关注过本帖树形打印复制链接

主题:商业版转开发版后出现问题

帅哥哟,离线,有人找我吗?
大红袍
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/1 11:41:00 [只看该作者]

测试了一下pdf的静默打印太麻烦,换一种方式打印,只需要引用一下 iTextSharp.dll

 

Dim reader As New iTextSharp.text.pdf.PdfReader("d:\test.pdf")
Dim document As New  iTextSharp.text.Document(reader.GetPageSizeWithRotation(1))
Dim n As Integer = reader.NumberOfPages
Dim baos As New IO.FileStream("d:\temp.pdf", IO.FileMode.Create, IO.FileAccess.Write)
Dim copy As New  iTextSharp.text.pdf.PdfCopy(document, baos)
copy.ViewerPreferences =  iTextSharp.text.pdf.PdfWriter.HideToolbar Or iTextSharp.text.pdf.PdfWriter.HideMenubar Or iTextSharp.text.pdf.PdfWriter.HideWindowUI
'往pdf中写入内容
document.Open()
For i As Integer = 1 To n
    Dim page As  iTextSharp.text.pdf.PdfImportedPage = copy.GetImportedPage(reader, i)
    copy.AddPage(page)
Next

document.Close()
reader.Close()

Dim pd As new Printing.PrintDocument()
Dim p As new Process()
Dim startInfo As new System.Diagnostics.ProcessStartInfo()
startInfo.CreateNoWindow = True
startInfo.WindowStyle =  System.Diagnostics.ProcessWindowStyle.Hidden
startInfo.UseShellExecute = True
startInfo.FileName = "d:\temp.pdf"
startInfo.Verb = "print"
'startInfo.Arguments = "/p /h \" + startInfo.FileName + """""" + pd.PrinterSettings.PrinterName + """"
p.StartInfo = startInfo
p.Start()

 


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1361 积分:12049 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/9/7 9:50:00 [只看该作者]

老师,再请教!

 

我试过你的方法可以打印哦!

 

问题有几个!

 

1:打印的时候会 弹出一个  adobe reader 的 文件。

这个能否在后台打印,不弹出 这个问题件?

 

2:我不是很懂,但看你的代码 是 把 原来的 PDF文件  分离出来 建一个新的 PDF文档 ,然后在打印。

 

这个时候 问下 如果我需要 批量打印, 新建的文档是不是自动覆盖, 另外批量打印的时候,好像代码 好长! 有没的简洁一点。

 

我只需要  根据 其 页数 确定打印的方法!

 

3:startInfo.Verb = "print" 

这个 能否  设置 print 的 次数?? , 重复打印几次?

 


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1361 积分:12049 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2015/9/7 9:51:00 [只看该作者]

其实我就是想 获取  一个PDF文件 的页数 

 

不知道能否在 某个PDF文件中  有代码直接获知??

 

另外根据 页数 确定打印的 内容 为那些,那些一个文件里面需要重复打印,那些只打印一次!


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/7 9:58:00 [只看该作者]

1、不能不弹出;

 

2、n就是总页数;

 

3、重复打印就这样写

 

For i As Integer = 1 To 2
    p.Start()
Next


 回到顶部
总数 24 上一页 1 2 3