作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Adobe Indesign 还很陌生,但我对各种编码语言都满意。
我想创建一个基于 Web 的文档,其中列出了一些产品和产品说明,每个产品说明都充当在线产品本身的超链接。
我已经创建了列出我想通过 XML 导入的各种属性的 XML,但是我在定义 URL 以充当超链接时遇到了麻烦。
我当前的 xml 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<list>
<product href="http://www.google.co.uk">
<BrandName>Brand 1</BrandName>
<Title>Shirt</Title>
<FullPrice>£25</FullPrice>
<ProductCode>ABC123</ProductCode>
</product>
<product href="http://www.google.co.uk">
<BrandName>Brand 2</BrandName>
<Title>Jacket</Title>
<FullPrice>£20</FullPrice>
<ProductCode>DEF456</ProductCode>
</product>
</list>
最佳答案
XML 与 InDesign DOM 对象断开连接。您必须明确定义哪个 XML 元素与哪个 InDesign 对象搭配使用,通常是通过标记的方式。通过给予 product
XML 元素 href
属性你实际上并没有告诉 InDesign 它是一个超链接。
为了告诉 InDesign 它是一个超链接,您可以遍历每个 product
XML 元素使用 InDesign javascript 引擎并根据元素的属性将超链接应用于文本。
下面是一个例子:
#include "./XML Rules/glue code.jsx"
main();
function main() {
var doc = app.activeDocument;
var elems = doc.xmlElements;
var ruleSet = new Array (new Rule);
__processRuleSet(elems[0], ruleSet);
function Rule() {
this.name = "Rule";
this.xpath = "//product[@href]";
this.apply = function(elem, ruleProcessor) {
var elemText = elem.texts[0];
var linkURL = elem.xmlAttributes.itemByName("href").value;
var linkSource = doc.hyperlinkTextSources.add(elemText);
var linkDest = doc.hyperlinkURLDestinations.add(linkURL);
doc.hyperlinks.add(linkSource, linkDest);
return true;
}
}
}
关于xml - 添加超链接到 indesign,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13157778/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!