使用javascript从PDF中获取信息(标题、主题、作者、制作人..)
Getting Info (title, subject, author, producer...) from PDF using javascript
我正在学习如何在pdf文件中使用javascript,以及如何从/Info对象中获取信息,如作者和标题。我找到了两种在pdf中使用js的方法,我把两个样本放在一起,第一个有效,第二个无效。它们都执行javascript,但第二个代码无法访问/Info数据。我不明白为什么。
示例1(此代码显示一个包含/Title内容的警报,工作正常):
%PDF-1.3
1 0 obj
<</Type/Catalog/Pages 5 0 R/OpenAction 3 0 R>>
endobj
2 0 obj
<<
/Producer (test)
/Subject (test)
/Title (test)
>>
endobj
3 0 obj
<</Type/Action/S/JavaScript/JS 4 0 R>>
endobj
4 0 obj
<</Length 17>>
stream
app.alert(title);
endstream
endobj
5 0 obj
<<
>>
endobj
xref
trailer
<<
/Root 1 0 R
/Info 2 0 R
>>
startxref
%%EOF
示例2(此示例不显示任何警报,但如果我将title替换为字符串,它确实显示警报)
%PDF-1.3
1 0 obj
<</Type/Catalog/Pages 5 0 R/AcroForm 3 0 R>>
endobj
2 0 obj
<<
/Producer (test)
/Subject (test)
/Title (test)
>>
endobj
3 0 obj
<</XFA [4 0 R]>>
endobj
4 0 obj
<</Length 767>>
stream
<?xml version="1.0" encoding="UTF-8" ?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
<config xmlns="http://www.xfa.org/schema/xci/1.0/"><present>
<pdf><interactive>1</interactive><version>1.6</version>
</pdf><xdp><packets>*</packets></xdp><destination>pdf</destination></present></config>
<template xmlns="http://www.xfa.org/schema/xfa-template/2.5/">
<subform layout="tb" locale="en_US" name="form">
<subform>
<field>
<event activity="initialize" name="eventName">
<script contentType="application/x-javascript">
app.alert(title)
</script>
</event>
</field>
</subform>
</subform>
</template>
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data></xfa:data></xfa:datasets>
</xdp:xdp>
endstream
endobj
5 0 obj
<<
>>
endobj
xref
trailer
<<
/Root 1 0 R
/Info 2 0 R
>>
startxref
%%EOF
(两个pdf源都不是真正有效的pdf,但js被执行了,我删除了很多东西,使它们更容易阅读)
有人知道为什么app.aalert(标题)在第二个样本上不起作用吗?
app.alert(event.target.title);
这确实是一个注释,但出于格式和可读性的原因,我使用了答案。
http://corkami.googlecode.com/svn-history/r503/wiki/PDFTricks.wiki
如果你有
/Info <</Author(Hello) /Title( World) /Producer( !)>>
然后你可以做
app.alert(info.author + info.title + info.producer);
在你的情况下,我想你需要先拿到你所在的文件。我怀疑你能做你想做的事,因为你似乎在pdf中嵌入了一个xml文件。我不希望它在上工作
相关文章:
- 正在将数据主题添加到所有项目
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- 正在检测导航到<a name=“;最新主题”></a>
- 如何在自动完成时设置属性标题
- 单元格的工具提示或标题不显示超过2000个字符
- 如何从相应的控制器动态更新标题和描述
- 菜单栏class=活动引导程序主题无法正常工作
- 将超链接添加到“;标题“;标记文本
- 使用 Ajax 更改论坛 javascript/jQuery 中主题的标题
- Twitter Bootstrap 主题和 iTunes 应用程序标题
- 如何从Microsoft Dynamics 2011主题获得标题/文本
- 使用javascript从PDF中获取信息(标题、主题、作者、制作人..)
- 更改Liferay 6.1中主题页的标题