第三个参数改为false后,也只上传单数图片。
设计思路:利用窗口生成WordReport,窗口有一批准按钮供经理审批合同。批准后生成一份PDF格式的合同,并将将PDF合同转换为图片,用于线上盖章。按钮的代码如下:
MessageBox.Show("已经批准,等待生成批准后的合同版本...")
Dim tm As String = ProjectPath & "RemoteFiles" & s ’s是备注列中包含路径合同文本名称
ShowAppWindow(tm,5) '关闭窗口审查的文档
Forms("合同审查").Close()
Dim fl1 As String = ProjectPath & "Reports\" & s3 '指定目标文件
'MessageBox.Show(fl1)
s = s.Replace(".doc",".pdf")
Dim fl2 As String = ProjectPath & "RemoteFiles" & s
Dim wrt As New WordReport(Tables("合同审批"),tm,fl1)
wrt.Build() '生成报表
wrt.SaveToPDF(fl2) '保存为PDF文件
wrt.Quit() '退出
MessageBox.Show("等待合同上传...")
Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(5)
Application.DoEvents
End While
Dim ftp1 As new ftpclient
ftp1.host="192.169.1.106"
ftp1.Account = "ftpuser"
ftp1.password = "123456"
If ftp1.Upload(fl2,s, True) = True Then '将PDF格式文本上传
Messagebox.show("PDF格式上传成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("PDF格式上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Dim app As New MSWord.Application
Dim doc = app.Documents.Open(tm)
Dim allpage = doc.ComputeStatistics(msWord.WdStatistic.wdStatisticPages) '计算文档页数
'msgbox(allpage)
app.Documents.Save()
app.Quit
Dim fl4 As String = fl2.Replace(".pdf","") ‘去掉PDF格式文本的后缀
'msgbox(fl4)
ConvertPDF2Image(fl2, fl4, "", 1,allpage,ImageFormat.Jpeg, Definition.Two) ‘将PDF格式文档转换为图片
msgbox("合同已转换为图片格式,准备上传...")
Dim i As Integer
Dim fl5 As String
Dim s8 As String
For i = 1 To allpage Step 1
fl5 = fl4 & i & ".jpeg"
'msgbox(fl5)
s8 = s.Replace(".pdf",i & ".jpeg")
'msgbox(s8)
If ftp1.Upload(fl5, s8, False) = True Then
Messagebox.show("图片格式的合同" & i & "上传成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("图片格式的合同上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
i = i + 1
Next