Foxtable(狐表)用户栏目专家坐堂 → 修改pdf属性


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

主题:修改pdf属性

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 17:07:00 [显示全部帖子]

 

需要的dll

 

http://pan.baidu.com/s/1i5FpQvV

 

代码

 

Dim doc As org.apache.pdfbox.pdmodel.PDDocument = Nothing
Try
    doc = org.apache.pdfbox.pdmodel.PDDocument.load("g:\test2.pdf")
    Dim info = doc.getDocumentInformation()
    info.setAuthor("作者")
    info.setKeywords("关键字")
    info.setSubject("主题")
    info.setTitle("标题")
    info.setCreator("制作系统")
    doc.save("g:\test5.pdf")
catch ex As exception
    msgbox(ex.message)
Finally
    If doc IsNot Nothing Then
        doc.close()
    End If
End Try

[此贴子已经被作者于2017/5/3 17:07:51编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 17:22:00 [显示全部帖子]

简单点,用 itextsharp 也可以

 

Dim reader As New iTextSharp.text.pdf.PdfReader("G:\test2.pdf")
Dim document As New  iTextSharp.text.Document(reader.GetPageSizeWithRotation(1))
Dim n As Integer = reader.NumberOfPages
Dim baos As New IO.FileStream("g:\test8.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.addTitle("测试")
document.addSubject("测试")
document.addKeywords("测试")
document.addAuthor("测试")
document.addCreator("测试")
document.addHeader("测试", "测试")

document.Close()
reader.Close()

 

 

下载信息  [文件大小:1.3 MB  下载次数:5]
图片点击可在新窗口打开查看点击浏览该文件:itextsharp.zip


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 17:46:00 [显示全部帖子]

 载入test2.pdf

 

 设置作者、主题、关键字等等信息

 

 另存为test5.pdf


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 18:00:00 [显示全部帖子]

 你用的是什么软件打开的?你的pdf文件上传上来看看?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 18:33:00 [显示全部帖子]

Dim doc As org.apache.pdfbox.pdmodel.PDDocument = Nothing
Try
    doc = org.apache.pdfbox.pdmodel.PDDocument.load("g:\test2.pdf")
    Dim info = doc.getDocumentInformation()
    info.setAuthor("作者")
    info.setKeywords("关键字")
    info.setSubject("主题")
    info.setTitle("标题")
    info.setCreator("制作系统")
    Info.setCustomMetadataValue("abc", "123")
    Info.setCustomMetadataValue("Company", "456")
    

    'For Each o As object In Info.Gettype.getmethods
    '    output.show(o.name)
    'Next
    doc.save("g:\test5.pdf")
catch ex As exception
    msgbox(ex.message)
Finally
    If doc IsNot Nothing Then
        doc.close()
    End If
End Try
[此贴子已经被作者于2017/5/3 18:32:56编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/4 14:19:00 [显示全部帖子]

以下是引用huhu在2017/5/4 13:06:00的发言:
多问一句。
上面的是在ft实现的。
有没有方法在vs实现,比如上面的dll和代码怎么在vs里面弄?

 

如果用3楼的,你在vs里面引用dll就行了。

 

如果是用2楼的,你在vs引用dll,同时,把要放在foxtable安装目录下的东西,拷贝到你项目的bin/debug目录去。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/7 17:07:00 [显示全部帖子]

 无法替换内容。

 回到顶部