Foxtable(狐表)用户栏目专家坐堂 → [求助]iText测试


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

主题:[求助]iText测试

帅哥哟,离线,有人找我吗?
天一生水
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]iText测试  发帖心情 Post By:2019/5/12 11:10:00 [只看该作者]

参照教程及论坛做的实例。

请问老师清空浏览器进程的代码有没有更好的方法?

 

代码如下,需要的朋友可以省点时间。

 
Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")    '窗口显示pdf
web.Address = Nothing            ' 清空web浏览器进程

Dim sdt As Date = Date.Now          
While Date.Now < sdt.AddSeconds(0.1)      '代码延迟0.1秒
    Application.DoEvents
End While
 
'定义字体
Dim bs As iTextSharp.text.pdf.BaseFont = iTextSharp.text.pdf.BaseFont.CreateFont("C:\WINDOWS\Fonts\方正小标宋简体.TTF",  _
iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED)
Dim yh As iTextSharp.text.pdf.BaseFont = iTextSharp.text.pdf.BaseFont.CreateFont("C:\WINDOWS\Fonts\msyh.TTF",  _
iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED)          '雅黑

'定义要保存的文件名及路径
Dim file As String = ProjectPath & "PDF\Demo.pdf"

'创建 PDF 文档
Dim dc As new iTextSharp.text.Document()
dc =  new iTextSharp.text.Document(iTextSharp.text.PageSize.A4,27,27,37,0)   'A4紙,左右上下邊距
'创建实例,PDF 文件将会保存到这里
iTextSharp.text.pdf.PdfWriter.GetInstance(dc,new System.IO.FileStream(file,System.IO.FileMode.Create))

'打开文档,开始写入
dc.Open()
Dim str As String
With Tables("生成_table1")
    For Each Currow As Row In .GetCheckedRows
         '写入第一个段落
           Dim tm As new iTextSharp.text.Font(bs,48)
        str = Currow("题目")
        Dim p As new iTextSharp.text.Paragraph(str,tm)
        p.Alignment = 1      '对齐方式(1为居中,0为居左,2为居右)
        p.SpacingAfter = 1   '段后空行数(0为默认值)
        dc.add(p)

        '写入第二个段落
        Dim zw As new iTextSharp.text.Font(fss,36)
        str = Currow("正文")
        p = new iTextSharp.text.Paragraph("    " & str,zw)      '怎样缩进2个字符
        p.SpacingBefore = 1        '段前空行数(0为默认值)
        p.MultipliedLeading = 2    '行间距(0为默认值)
        dc.add(p)
              
        dc.newpage   '换页
    Next
End With
dc.Close()     '写入完成 
web.address = file 


 

[此贴子已经被作者于2019/5/13 22:20:15编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/12 21:46:00 [只看该作者]

学习一下基础语法

 

 


 下载信息  [文件大小:621.0 KB  下载次数:55]
图片点击可在新窗口打开查看点击浏览该文件:itextsharp 中文帮助文档.rar

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/5/13 21:13:00 [只看该作者]

老师好!

重新修改了一楼的代码和附件。
但是段落的格式设置在教程里找不到,请老师指教。
谢谢!

 


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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/13 21:18:00 [只看该作者]

第三方的组件主要靠自己。我也没有用过,暂时也没有时间去研究

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/5/13 22:19:00 [只看该作者]

下列段落样式设置可用(已改进一楼代码):

p.Alignment = 1      '对齐方式(1为居中,0为居左,2为居右)
p.SpacingAfter = 1   '段后空行数(0为默认值)

p.SpacingBefore = 1        '段前空行数(0为默认值)
p.MultipliedLeading = 2    '行间距(0为默认值)

 

麻烦老师看看清除web浏览器进程的代码是否正确,谢谢!



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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/13 22:38:00 [只看该作者]

设置web.Address只是让浏览器打开指定地址的文件或者网页而已。设置不设置理论上没有什么影响

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/5/13 22:55:00 [只看该作者]

但是如果不清空web,连续加载PDF文件会提示报错:

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/13 23:13:00 [只看该作者]

试试

……
dc.Close()     '写入完成
dc = nothing
Application.DoEvents()
system.threading.thread.sleep(2000)
web.address = file 

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2019/5/14 8:12:00 [只看该作者]

蓝老师,这样也不行。

 

经测试,把一楼的前两句代码单独做个按钮可以退出web进程,放入一个按钮就要延迟运行后面的代码。

 

Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")    '窗口显示pdf
web.Address = Nothing            ' 清空web浏览器进程

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/14 9:16:00 [只看该作者]

以下是引用天一生水在2019/5/14 8:12:00的发言:

蓝老师,这样也不行。

 

经测试,把一楼的前两句代码单独做个按钮可以退出web进程,放入一个按钮就要延迟运行后面的代码。

 

Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")    '窗口显示pdf
web.Address = Nothing            ' 清空web浏览器进程

 

生成的pdf,不同名称即可。比如命名为 temp_当前时间.pdf

 

在关闭窗口或项目的时候,把临时文件夹删除,即可 http://www.foxtable.com/webhelp/scr/0333.htm

 


 回到顶部
总数 21 1 2 3 下一页