PDFViewer控件
Foxtable 2025增加了一个PDFViewer控件,用于在直接窗口中浏览PDF文档。
PDFViewer可以浏览PDFCreator生成的文档,无需保存为文件,只需直接将其SourceDocument属性设置为PDFCreator对象即可:
Dim
pdc
As
New
PDFCreator()
pdc.ConformanceLevel = Pdf.PdfAConformanceLevel.PdfA1b
'使用PdfA1b格式,须在添加所有内容之前设置。
Dim
rect
As
RectangleF = pdc.PageRectangle()
rect.Inflate( - 72, - 72)
Dim
fnt
As
New
Font("微软雅黑",
12)
pdc.DrawString("Hello
狐表!",
fnt, Brushes.Black, rect)
e.Form.Controls("PDFViewer1").SourceDocument
= pdc
'显示生成的内容
提示:如果文档有中文字符,则必须使用PdfA/B格式, 且必须在添加内容之前设置好,否则可能无法显示中文。
也可以用LoadFromFile方法加载显示已经生成好的文档:
e.Form.Controls("PDFViewer1").LoadFromFile("c:\temp\nwind.pdf")
需要注意的是,如果是第三方PDF文档,且没有嵌入字体(PdfA/B格式),则可能无法正常显示文档中的中文。
PDFViewer的属性有:
属性/方法 | 说明 |
StatusBarVisible | 是否显示状态栏 |
RibbonVisible | 是否显示工具栏 例如只想显示PDF文档,不想显示工具栏和状态栏:
Dim
pdc
As
New
PDFCreator() |
ContextMenuElements | 用于获取快捷菜单命令 |
RibbonElements |
用于获取工具栏命令。
例如希望禁止工具栏和快捷菜单中的打印、导出、复制等命令: 命令有很多,编写代码的时候会自动列出所支持的命令,且命令名称是自我描述性的,这里就不一一介绍了。 |
ExecuteAction | 执行命令。 例如你希望在窗口中加一个打印按钮,用于打印PDF文档,按钮代码为:
Dim
pv
As
WinForm.PDFViewer = e.Form.Controls("PDFViewer1")
需要注意的是,如果你禁用了打印按钮: 那么ExecuteAction执行打印命令是无效的,但你可以 隐藏打印按钮: pv.RibbonElements.Export.Visible = False 或者隐藏整个工具栏: pv.RibbonVisible = False 其他命令也一样,如果你要通过ExecuteAction执行之, 则不能禁用(Enabled = False)它,但可以隐藏(Visible = False)它 PDFActions包括所有命令,请自行探索。 |