首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IDML RightIndentTab导致换行

IDML RightIndentTab导致换行
EN

Stack Overflow用户
提问于 2012-11-17 00:46:45
回答 1查看 287关注 0票数 1

我正在处理InDesign使用的IDML文件。我在插入特殊指令时遇到了问题。我需要嵌入IDML文件的RightIndentTab。同样的unicode是U+0008。当我尝试添加时,它抛出错误,因为这个unicode在XML规范中不受支持。

我更深入地研究了它,IDML有一个特殊的处理指令,可以插入,现在看起来问题是,当我添加它时,它在RightIndent符号前引入了一个换行。在调试过程中,我发现content元素如下所示

代码语言:javascript
复制
             <Content>
                <?ACE 8?>9731396</Content>

它是一个XElement,当我对它调用ToString()时,我看到\r\n。我也尝试过使用XmlWriter。

我想要的是一个XElement对象,它看起来像

代码语言:javascript
复制
             <Content><?ACE 8?>9731396</Content>

在进阶时谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-17 00:59:58

我遇到过使用.NET向IDML添加处理指令的完全相同的问题,即使关闭了重要的空格,我也得到了一个换行符,InDesign将其视为文本的一部分。

我找到的唯一解决方案是将文件另存为XML,然后将其作为文本文档打开,并使用正则表达式仅用><?替换>\r\n<?。它是丑陋和笨拙的,但它确实可以工作-我手头没有正则表达式,但您应该能够相当快地弄清楚。

不过,我在向XML添加unicode字符时从来没有遇到过任何问题。我将只使用&#x0008;,并将XmlWriter编码设置为使用unicode。请看这里的示例:http://bytes.com/topic/net/answers/176665-how-write-unicode-using-xmlwriter,它建议:

代码语言:javascript
复制
XmlTextWriter myWriter = new XmlTextWriter( fileStream,
new System.Text.UnicodeEncoding( false, false) );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13420855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档