根据不同的来源,应该可以通过附加后缀:#page =来超链接到其他应用程序的PDF文件中的特定页面,例如:
C:\Temp\Examplefile.pdf#page=5
这不适用于Word 2013.我已经读过它取决于在客户端和文件扩展名关联上安装为PDF文件阅读器的应用程序和版本,但我认为这是Word 2013的问题。同样计算机我可以使用以下HTML代码从HTML文件成功超链接到PDF页面,然后单击Internet Explorer中的链接:
<HTML><BODY><A HREF="C:\Temp\Examplefile.pdf#page=5" TARGET="_TOP"> PDF-File </A></BODY></HTML>
我尝试使用Adobe Reader XI和Adobe Acrobat 9 Pro作为PDF文件阅读器,但没有成功。 PDF文件打开,但它显示第一页,而不是第五页。
有谁知道如何成功超链接到Word 2013的PDF文件中的特定页面?我也对涉及VBA代码的解决方案持开放态度。
答案 0 :(得分:2)
这个问题是我多年来一直在努力解决的问题,我最终确实让它发挥了作用。我有一些PDF格式的旧杂志,我想在Word中创建一个索引,其中包含针对每个索引条目的超链接,我可以将其转换为PDF文件,这样点击PDF文件中任何索引条目的链接就可以了在正确的页面打开正确的杂志PDF文件。有几个问题。
如果在Web浏览器中打开PDF文件,则在Word中使用超链接格式'C:\ Temp \ Examplefile.pdf#page = 5',如上所述将起作用,或者,如果直接在Adobe Reader中打开文件,则在目标PDF文件的每个页面上都有一个名为“page =#”(其中#=页码)的PDF目标。通常情况下,人们会想要第二种选择,就是我想到的那种工作。
我知道几个Word到PDF的转换程序会正确创建链接,以便在Adobe Reader而不是Web浏览器中打开PDF。如果配置正确,LibreOffice 5会正确执行,除非它将'page = 5'更改为'page3D5'。曾经有一个名为Jaws PDF的程序在Windows XP下正确完成了所有转换,但我相信现在市场还没有。因此,目前我所知道的最佳选择是使用LibreOffice将Word文件转换为PDF文件,并使用格式为“C:\ Temp \ Examplefile.pdf#page5”的超链接来避免等号的问题。我还没有测试过最新版本的Word。
这就留下了如何创建PDF目标的问题。您可以使用Adobe Acrobat或Nitro Pro PDF,例如手动,但必须手动为文档的每个页面创建一个PDF目标不是我希望任何人的任务。我这样做的方法是使用Adobe Acrobat和一个名为Auto BookMark(https://www.evermap.com/autobookmark.asp)的插件,它允许您自动为PDF文件的每个页面创建目的地。顺便提一下,还有一种方法可以使用这个插件来编辑所有超链接,这样它们就可以在给定的页面上打开PDF文件而不创建任何PDF目的地,但它相当复杂,我还没有看到任何Adobe文献中记录的方法,所以我避免使用它。
最后,如果你正在考虑做我做的事情,在上面的超链接上使用绝对地址可能不是很有用。但是,我可以使用相对寻址来报告,例如像'.. \ _杂志\ 1985.pdf#page20'这样的东西也应该有用。
我会感谢其他人在这个问题上提供的更多信息,因为它在过去八年左右的时间里花了很多时间。
答案 1 :(得分:2)
我已经成功地测试了这个简短的宏,在第4页打开一个保存的PDF文件,将是:
preferredPresentationSize
如果代码无效,请检查Acrobat阅读器路径,
如果Acrobat Reader正在打开而不是文件,则在Page_Num和File_path之间添加空格。
致谢:Michael Avidan
答案 2 :(得分:1)
似乎“将Word文档中的超链接创建为PDF中的特定页面或目标的唯一方法是,如果PDF文件位于Web服务器中,并且您创建了指向PDF URL的链接”,则在AcrobatUsers.com上引用answer。因此,您将使用带有http://unicode.org/charts/PDF/U0080.pdf#page=5之类的URL的链接(以采取任意工作示例)。
嗯,任何HTTP服务器都应该这样做,它不需要在Web上,但可以是Intranet服务器,甚至可以是打开Word文档的计算机的本地服务器。但重点是,当您链接到http://
地址时,该链接将在Web浏览器中打开,该浏览器可以处理URL末尾的#page=5
等片段部分。
答案 3 :(得分:1)
您可以使用宏脚本来帮助解决此问题,但在选择超链接时,您必须指定一个快捷键来运行宏脚本。
此链接应该有所帮助:Create hyperlink to a specific PDF page in Microsoft Word for Windows
编辑:如果以上链接不起作用,或者您在按照网站上的步骤或宏脚本时遇到问题,请按照以下步骤操作:
如果您可以看到Developer标签,则可以跳过第2步,否则请继续执行第2步
要显示开发人员标签,您需要导航至File&gt; Options&gt; Customize Ribbon
导航至Developer tab,然后点击Macros button
在Macros name下的文本框中输入宏脚本的名称:然后点击按钮Create,名称可以是您想要的任何内容
应出现new window,您需要输入以下代码:
以下代码介于Sub [name of script]()
之间(其中[脚本名称]替换为您为脚本指定的名称)和End Sub
Dim targetLink As String
Dim targetName As String
Dim pageNumber As Integer
Dim pathPDF As String
targetName = Selection.Hyperlinks(1).Name
parts = Split(targetName, "page=")
pageNumber = parts(1)
pathPDF = Selection.Hyperlinks(1).Address
Call OpenPagePDF(pathPDF, pageNumber)
下一段代码在End Sub
Public Function OpenPagePDF(sMyPDFPath As String, iMyPageNumber As Integer)
Dim RtnCode, AdobePath As String
AdobePath = "Path to Acrobat Reader"
RtnCode = Shell(AdobePath & " /a " & Chr(34) & "page=" & iMyPageNumber & "=OpenActions" & Chr(34) & " " & Chr(34) & sMyPDFPath & Chr(34), 1)
End Function
整个代码应如下所示:
Sub [Name Of Script]()
Dim targetLink As String
Dim targetName As String
Dim pageNumber As Integer
Dim pathPDF As String
targetName = Selection.Hyperlinks(1).Name
parts = Split(targetName, "page=")
pageNumber = parts(1)
pathPDF = Selection.Hyperlinks(1).Address
Call OpenPagePDF(pathPDF, pageNumber)
End Sub
Public Function OpenPagePDF(sMyPDFPath As String, iMyPageNumber As Integer)
Dim RtnCode, AdobePath As String
AdobePath = "Path to Acrobat Reader"
RtnCode = Shell(AdobePath & " /a " & Chr(34) & "page=" & iMyPageNumber & "=OpenActions" & Chr(34) & " " & Chr(34) & sMyPDFPath & Chr(34), 1)
End Function
请注意,这不会立即生效,因为您需要提供Acrobat Reader的路径,这在步骤6中已得到解答
Program Files
或Program Files (x86)
)当您找到该文件夹时,您需要导航至Reader 11.0&gt; Reader
您应该看到名为AcroRd32.exe
或AcroRd64.exe
Acrobat Reader的位置是在Windows资源管理器顶部找到的address和地址末尾的\
[可执行文件名称],其中[可执行文件名称]替换为名称在可执行文件中,该位置的示例是C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe
一旦你更换了#34; Acrobat Reader的路径&#34;使用Acrobat Reader的位置,脚本应该可以正常工作
在运行脚本之前,首先需要将光标放在超链接
有两种方法可以运行脚本,您可以设置快捷键来运行它(这可以从步骤11中解释),也可以手动访问宏脚本来运行它(这在下一步)
要手动运行脚本,请点击Developer tab,点击Macros button并选择您的宏脚本,然后点击Run
要设置快捷键以运行脚本,请导航至File&gt; Options&gt; Customize Ribbon,然后点击文字旁边名为Customize的按钮&#34;键盘快捷键&#34;
使用文本&#34;类别下的列表:&#34;选择Macros并使用右侧列表选择您的脚本
点击文字&#34下的textbox;按新快捷键:&#34;并输入将运行脚本的组合键
点击按钮Assign并关闭两个窗口
现在,每当您将光标放在超链接上时使用快捷键,它都应该在正确的页面上加载PDF
答案 4 :(得分:1)
所有引号都是必需的。
包括引号,键入或粘贴
"Path to PDF exe/exe file"/A"page=#OpenActions" "path to PDF/PDF file"
"Path to PDF exe/exe file"
示例:
“ C:\ Program Files(x86)\ Adobe \ Acrobat 2017 \ Acrobat \ Acrobat.exe” “ C:\ Program Files(x86)\ Adobe \ Acrobat Reader 2017 \ Reader \ AcroRd32.exe”
"page=#OpenActions"
示例以在第205页打开PDF:“ page = 205OpenActions”
"path to PDF/PDF file"
示例:“ C:\ Users \ Richard \ Desktop \ Big Help.pdf”
完整示例:
"C:\Program Files (x86)\Adobe\Acrobat 2017\Acrobat\Acrobat.exe"/A"page=25OpenActions""C:\Users\Richard\Desktop\Big Help.pdf"
请注意,如果将MS Word或PowerPoint文件转换为PDF,则该链接将不会进行PDF转换。