防止 Word 生成的 PDF 中出现丑陋的超链接?

Jay*_*itt 1 pdf microsoft-word-2007 microsoft-word

我正在 Windows XP 上的 Word 2007 中创建文档,并使用“另存为 PDF”加载项。该文档包含超链接。

当我在 Mac (OS X 10.5.8) 上的 Preview.app 中打开该 PDF 时,我看到所有超链接周围都有丑陋的框。我已经尝试在 Mac 上的 Acrobat Pro 9.2.0 中编辑 PDF,但那里没有显示这些框。如果我仍然使用链接工具选择了一个超链接,请右键单击并选择“属性...”,不会出现任何属性对话框。

我希望链接可以点击,但我希望它们看起来不错。我该如何修复它们?我没有 Windows 版 Acrobat。

Jay*_*itt 6

好吧,我以为我找到了更好的方法,但结果是 Word 2007 的“另存为 PDF”加载项在 PDF 中创建了不寻常的链接。它borderWidth完全排除了财产。Acrobat 假定borderWidth默认值为 0,因此链接看起来不错。Preview.app 默认borderWidth为 1,所以链接有一个黑框。

不幸的是,Acrobat Pro 9 for Mac 无法通过 GUI 编辑链接的属性,可能是因为缺少属性。它可以通过 JavaScript 编辑现有的属性,但它不会让您设置不存在的属性。

作为一个快速的技巧,以下 JavaScript 将向 Acrobat 添加一个名为“使链接不可见”的菜单项 - 将其放在您的~/Library/Application Support/Adobe/Acrobat/9.0_x86/JavaScripts目录中。它将 更改borderColor为白色。如果你有紧身型,那不会比黑色更好;就我的目的而言,它运行良好。实际上可能可以从现有链接中获取属性,将其删除,然后创建一个带有正确 的新链接borderWidth,但我没有费心去尝试。

事实证明,Word 2007 对 PDF 做了很多坏事(嵌入重复字体等),我最终购买了 Windows 版本的 Acrobat Standard;它向功能区添加了一个 Acrobat 菜单,其输出看起来很棒。

app.addMenuItem({
  cName:"Make links invisible", 
  cParent:"Tools",
  cExec:"makeLinksInvisible();"
});

function makeLinksInvisible() {
  for ( var p = 0; p < this.numPages; p++) 
  {
    var box = this.getPageBox("Crop", p);
    var links = this.getLinks(p, box);

    for each (l in links) {
      l.borderColor = color.white;
    }
  }

}
Run Code Online (Sandbox Code Playgroud)