Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何调用PDPageRelease API发布pdf?

如何调用PDPageRelease API发布pdf?
EN

Stack Overflow用户
提问于 2017-10-24 00:42:21
回答 1查看 192关注 0票数 1

这是我的密码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public Function GetPDFLastTwentyText(ByVal pstrPdfFilename As String) As String
    Dim PDDoc As Object
    Dim CAcroRect As New Acrobat.AcroRect
    Dim PDPage As Acrobat.AcroPDPage
    Dim PDTxtSelect As Acrobat.AcroPDTextSelect
    Dim CArcoPoint As Acrobat.AcroPoint
    Dim iNumWords As Integer
    Dim iMax As Long
    Dim arPdfLines() As String
    Dim i As Integer
    Dim fso As FileSystemObject
    GetPDFLastTwentyText = ""
    Set fso = New FileSystemObject
    If fso.FileExists(pstrPdfFilename) Then
        Set PDDoc = CreateObject("AcroExch.PDDoc")
        PDDoc.Open pstrPdfFilename
        Set PDPage = PDDoc.AcquirePage(PDDoc.GetNumPages() - 1)
        Set CArcoPoint = PDPage.GetSize()
        CAcroRect.Top = CArcoPoint.y
        CAcroRect.Left = 0
        CAcroRect.Right = CArcoPoint.x
        CAcroRect.bottom = 0
        Set PDTxtSelect = PDDoc.CreateTextSelect(PDDoc.GetNumPages() - 1, CAcroRect)
        ...
        PDDoc.Close
    End If

    Set fso = Nothing
    Set PDTxtSelect = Nothing
    Set CAcroRect = Nothing
    Set CArcoPoint = Nothing
    Set PDPage = Nothing
    Set PDDoc = Nothing
    
End Function

我不知道使用这个API。

PDPageRelease()

有关于这个API的官方文件吗?

这里是我在adobe的API文档中找到的描述。

PDPage PDDocAcquirePage(PDDoc doc,ASInt32 pageNum) 从文档中获取PDPage。它会增加页面的引用计数。使用完页面后,使用PDPageRelease()发布它。如果没有调用PDPageRelease(),它可能会阻止包含页面的文档被关闭。为了避免此类问题,请使用CSmartPDPage类,因为它确保页面在超出作用域时被释放。

它提到应该在调用“AcquirePage”之后调用这个API。

EN

回答 1

Stack Overflow用户

发布于 2017-10-25 02:30:16

使用VBA或其他脚本语言,您可以使用OLE自动化。您将找到"Acrobat应用程序间通信参考“的描述。没有PDPageRelease()元素。PDPageRelease()属于插件API。插件只能用C#编写。

如果您只想关闭文档,而不关闭Acrobat,则可以使用以下代码而不是"PDDoc.Close“。Br.莱因哈德

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Set AForm = CreateObject("AFormAut.App")   '//connect to Form API
exe = "app.execMenuItem('Close');"         '//write js-code to variable
AForm.Fields.ExecuteThisJavaScript exe     '//execute js-code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46905898

复制
相关文章
和智能机器一起工作,而不是惧怕它们
如果我们想利用科技,就必须直面恐惧。 ——加里·卡斯帕罗夫 卡斯帕罗夫 生于1963年 前苏联、俄罗斯国际象棋棋手 22岁成为世界上最年轻的国际象棋冠军 接下来的职业生涯里 他获得了一连串冠军头衔 直到2005年退役 但是 幸运也是不幸 让他真正“家喻户晓”的 是历史课本里 1997年5月11日 他作为人类的代表 与IBM计算机“深蓝”的一次对弈 那一次 人类输了 此后的20年 人类好像一直在输 到了2017年 IBM已经有了能赢取智力竞赛节目的Watson 而距离谷歌用AlphaGo震惊世界 也已
企鹅号小编
2018/01/16
7230
和智能机器一起工作,而不是惧怕它们
为什么我们需要物联网和AI一起工作
随着物联网的采用,当今的商业世界正在发生变化。物联网正在帮助从多个来源显着捕获大量数据。但是,由于包装了来自无数物联网设备的大量数据,使得收集,处理和分析数据变得很复杂。
用户2605137
2022/04/12
7640
和RPA机器人一起改变工作模式,迎接高效办公
RPA机器人流程自动化目前已经在多个行业领域跨部门流程中得到了广泛的应用,正在为越来越多的企业提供更高效、成本更优的数字生产力解决方案。
蕉黄
2020/01/02
4850
和RPA机器人一起改变工作模式,迎接高效办公
vue可以和jquery一起用吗_项目中vue和jquery一起如何使用
拿起html的时候,在数据处理上,疯狂怀念数据双向绑定,vue又成了我的必选项,但是有些业务场景其实并不适用vue,所以最终技术选型为vue+jquery混合使用,结合两边的优点,大大提高开发效率。
全栈程序员站长
2022/11/03
2K0
一起学Excel专业开发08:工作表的程序行和程序列
我们经常会看到一些工作表,含有隐藏的行或列。而这些隐藏行或列中,往往存储着一些不想让用户看到的数据。这些数据可以让Excel或者VBA程序使用,方便完成一些高级操作,例如检查用户输入是否存在错误、存储数据有效性列表项、计算的中间值、特殊的常量,等等。
fanjy
2019/08/27
1.4K0
一起学Excel专业开发08:工作表的程序行和程序列
[脑书笔记]《你为什么而工作》:请尊重你自己
核心内容:我们为什么要工作?我们为什么要放弃既快乐又刺激的安逸生活,每天早晨睡眼惺忪地从舒适的床上挣扎而起?多么愚蠢的问题啊。我们工作当然是因为我们要养家糊口。确实如此,但仅此而已吗?当然不是!巴里•施瓦茨发现两个多世纪以来,我们完全被亚当•斯密等经济学大师的观点误导了,无论是社会,还是个体的人,我们一直被灌输着关于工作的一些错误观点。
rocket
2018/09/14
5540
[脑书笔记]《你为什么而工作》:请尊重你自己
国外的程序猿可以工作到退休而国内的为什么这么短命
首先我想说明的是国外的程序猿也存在加班,他们也要赶项目,所以加班不算什么原因。真正的原因是我们国内的很大一部分程序猿只是工具的使用者,不会去思考工具的产生和原理,用惯了一个高效的工具就被这个工具套牢成为奴隶,而国外的程序猿跟多的会去思考和专研这个工具的产生和原理,然后可能会自己优化出个2.0之类的。然后到了中年往工具开发这一块走,我们更多的是往管理、服务业、转行等方面发展。只能说我们的创新氛围还是没有一些国家好。
三哥
2018/07/31
5790
国外的程序猿可以工作到退休而国内的为什么这么短命
nextline函数_在JAVA中Scanner中的next()和nextLine()为什么不能一起使用?
Java 输入一直是一个坑,本来一直用 Scanner,但一直搞不懂换行符啥的,就用 BufferReader ,但前不久大疆笔试需要持续输入,早忘了 Scanner 怎么写,而那个场景用 Scanner 很好实现 ……
全栈程序员站长
2022/09/05
2.7K0
跟谁一起工作,到底有多重要?
不知道你有没有感受到,一个好的工作环境很重要。在适合自己的环境和氛围中,才会心情愉悦,才能在工作中充分发挥自己的优势。
jeanron100
2020/03/04
5120
一起聊聊工作中的功能安全测试
Tech    导读   本文旨在站在测试开发工程师的角度将功能安全测试归入日常测试中,简单剖析了功能安全测试与功能测试的异同点以及SDL中各环节的职责所在,同时分析了针对不同的安全场景如何进行功能安全测试用例的设计。通过本文,读者可以对SDL有一个简单明了的理解,针对SDL中各个环节,产研测的职责和关注点是什么都能有一个明确的概念。通过阅读本文,可以重点关注如何结合实际功能安全点设计符合需求的功能安全测试用例。 00前言    测试开发工程师一直想将安全测试真正融入测试工作中,在测试工作
京东技术
2022/03/04
1.2K0
为什么自定义函数效验器和页面加载成功事件不能放在一起
!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <!--1.导入jq的js文件--> <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script> <script type="text/javascript" src="../js/jquery.validate.js" ></script> <script type="text/javascript" src="../js/messages_zh.js" ></script> <script> // 页面加载成功之后锁定,要加载的页面对象 $(function(){ // 锁定要效验的表单对象,调用validate方法 $("#formId").validate({ rules:{ card:{ required:true, cardLength:true } }, //提示信息 messages:{ card:{ cardLength:"请输入16位到18位的数字" } } }); }); //自定义函数效验器和页面加载成功事件不能放在一起,因为页面加载成功事件也是一个函数,两个函数不能相互嵌套 $.validator.addMethod("cardLength",function(val,ele,par){ if(par) { if(val.length == 16 || val.length == 18) { return true; } return false; }else { return true; } },"输入不合法"); </script> </head> <body> <form id="formId" action=""> 必填:<input type="text" name="username" /> <br/> 必填数字: <input type="text" name="password" /> <br /> 必填重复: <input type="text" name="repassword" /> <br /> 最小值: <input type="text" name="zuixiaozhi" /> <br /> 区间: <input type="text" name="shuzhiqujian" /> <br /> 身份证长度:<input type="text" name="card" /> <br /> <input type="submit" value="提交" /> </form> </body> </html>
海仔
2019/08/06
7310
开发环境下,如何通过一个命令让 fastapi 和 celery 一起工作
FastAPI 是 Python Web 领域非常受欢迎的框架,目前 GitHub 上有 39.1k 的 star,已经远超过了 Django rest framework(22.3k star)。而 Celey 又是异步任务最流行的框架,常用于数据挖掘和机器学习等计算密集型任务的场景中。如果需要通过 API 来异步调用任务,那这两个框架可以放在一起工作。本文来分享一下如何让 FastAPI 和 Celery 更好的相互配合,开发环境下如何通过一个命令就可以让两者一起工作。
somenzz
2021/12/08
3.7K0
开发环境下,如何通过一个命令让 fastapi 和 celery 一起工作
你还没有准备好和机器人一起工作吗?
导读:上一期我们以电视为例,介绍了人工智能和AI对我们日常生活娱乐的影响,今天我们来了解一下,我们应该如何与机器人和谐的相处与工作(文末更多往期译文推荐) 人类正在进入一个让人焦虑的时代:无所不能的智
灯塔大数据
2018/04/04
7490
你还没有准备好和机器人一起工作吗?
为什么 Eslint 可以检查和修复格式问题,而 Babel 不可以?
Eslint 可以检查出代码中的错误和一些格式问题,并能自动修复,它的实现原理就是基于 AST (抽象语法树)。
神说要有光zxg
2022/03/03
4040
为什么 Eslint 可以检查和修复格式问题,而 Babel 不可以?
JDBC的工作原理和工作步骤
马克-to-win:JDBC主要完成三件事:1)建立连接;2)发送SQL语句;3)处理返回的结果。紧接着,下节以实例仔细分析这三条。
马克java社区
2021/05/11
6590
如何让R与Python一起工作 | 案例讲解
R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具。通俗点说,R是用来做统计和画图的。R拥有自己的脚本语言和大量的统计、图形库(得益于开源社区),这让她看起来既美又实用。与其他同类软件(如 SPSS)相比,R的特点是纯命令行的,这倒也好,我们更应该把注意力放在数据本身,而非统计工具的UI。
1480
2020/01/16
1.9K0
如何让R与Python一起工作 | 案例讲解
Cobots:让人与机器人一起工作
当人们在谈论由于机器人技术,人工智能(AI)和自动化的发展带来的人类工作被取代的问题时,他们有一个倾向,喜欢抛开人类的能力和灵活性,将当中的大部分归功于技术本身。技术成为关注的焦点。更严重的问题是那种我们只是需要更多的技术(机器人,自动化或者计算速度)的观点,把技术当成草地需要的水,认为只是浇水就能助其成长一样。但是在我们的生意中,并不是有了技术就能够提升生产力和效率,而是技术结合了人和知识才能产生我们想要的结果。 不管这些机器人会有多么的智能,在我看来,最多也就是半自动化而已。我不认为在我有生之年,机器人
机器人网
2018/04/12
7300
掌握这些常用Linux命令,一起提升工作效率
汪国真在《热爱生命》这首诗中写到:既然选择了远方,便只顾风雨兼程。技术上还是持续精进和学习,远方虽远,要迈开脚步,一步步抵达远方的目标。
全栈程序员站长
2022/07/20
8630
掌握这些常用Linux命令,一起提升工作效率
一起学Excel专业开发07:工作表设计原则
原则1:不同目的的单元格采用特定格式来区分。例如,在上图1中,在视觉上区分了数据输入区、公式区、表头以及外部区域。
fanjy
2019/08/06
8410
为什么start方法不能重复调用?而run方法却可以?
初学线程时,总是将 run 方法和 start 方法搞混,虽然二者是完全不同的两个方法,但刚开始使用时很难分清,原因就是因为初次使用时效果貌似是一样的,如下代码所示:
磊哥
2022/05/09
7320
为什么start方法不能重复调用?而run方法却可以?

相似问题

为什么@Transactional和@RequestMapping不能一起工作?

14

为什么“chop”不能和<STDIN>一起工作?

40

为什么"COALESCE“不能和"GROUP BY”一起工作?

3162

为什么Mockito和Mockmvc不能一起工作

137

为什么SocketIO和SSLify不能一起工作?

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文