首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文档中的文本(OpenXML SDK生成)不可编辑

文档中的文本(OpenXML SDK生成)不可编辑
EN

Stack Overflow用户
提问于 2012-03-21 09:30:22
回答 1查看 812关注 0票数 2

我使用OpenXML SDK创建了一个docx文档。它包含组内容控件,以便能够具有嵌套的文档结构。组内容控件可以包含其他组内容控件和/或普通文本段落。结果document.xml的结构如下所示:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">   
    <w:body>  
        <w:sectPr>  
            <w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:gutter="0" w:footer="720" w:header="720" w:left="1440" w:bottom="1440" w:right="1440" w:top="1440"/>  
            <w:cols w:space="720"/><w:docGrid w:linePitch="360"/>  
        </w:sectPr>  
        <w:sdt>  
            <w:sdtPr>  
                <w:alias w:val="deel"/>  
                <w:tag w:val="deel"/>  
                <w:lock w:val="unlocked"/>  
                <w:group/>  
            </w:sdtPr>  
            <w:sdtContent>  
                <w:p>  
                    <w:pPr>  
                        <w:pStyle w:val="DeelTitel"/>  
                        <w:tabs>  
                            <w:tab w:val="clear" w:pos="360"/>  
                            <w:tab w:val="num" w:pos="1987"/>  
                        </w:tabs>  
                    </w:pPr>  
                    <w:r>  
                        <w:t>Some paragraph text here</w:t>  
                    </w:r>  
                </w:p>  
                <w:sdt>  
                    <w:sdtPr>  
                        <w:alias w:val="hoofdstuk"/>  
                        <w:tag w:val="hoofdstuk"/>  
                        <w:lock w:val="unlocked"/>  
                        <w:group/>  
                    </w:sdtPr>  
                    <w:sdtContent>  
                    <w:p>  
                        <w:pPr>  
                            <w:pStyle w:val="HoofdstukTitel"/>  
                            <w:tabs>  
                                <w:tab w:val="clear" w:pos="360"/>  
                                <w:tab w:val="num" w:pos="1987"/>  
                            </w:tabs>  
                        </w:pPr>  
                        <w:r>  
                            <w:t>Another title here one level deeper</w:t>  
                         </w:r>  
                     </w:p>
                     etc. etc.

结果在Word中看起来不错,但问题是所有的文本似乎都被锁定了。正如您在上面的XML中所看到的,我尝试将SdtBlocks的lock属性设置为值"unlocked“。我还尝试去掉了整个lock属性,但都得到了相同的结果:如果我试图编辑段落中的一个标题,Word会显示错误“此修改是不允许的,因为选择已锁定”。

我在这里做错了什么吗?或者我如何确保段落中的文本是可编辑的?

提前谢谢。鲁本。

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-22 09:39:39

如果将来其他人需要这个,我找到了罪魁祸首是什么。在sdt属性(sdtPr)中省略w:group可以解决这个问题。从文档中可以看到:“这个元素指定了在文档中显示时,父结构化文档标记应该是受限的分组。”所以这实际上是有道理的,但很难弄清楚。希望将来能为其他人节省一些宝贵的时间。

鲁本。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9797459

复制
相关文章

相似问题

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