c#操作word如何读取word符号

haohaolovels 2020-02-13 01:44:51
c#操作word如何读取word符号

...全文
625 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45157713 2020-02-22
  • 打赏
  • 举报
回复
学习了
haohaolovels 2020-02-22
  • 打赏
  • 举报
回复
引用 13 楼 cyd20161117 的回复:
搞定了吗 我最近也在找 不知道怎么操作

搞定了 用的spire.doc按照楼上的方法获取的
asyxchenchong888 2020-02-16
  • 打赏
  • 举报
回复
搞定了吗 我最近也在找 不知道怎么操作
haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 2 楼 github_36000833 的回复:
比如,插入你示例图中的第一个非空字符(钢笔),自动化操作是:

Selection.InsertSymbol Font:="Wingdings 2", CharacterNumber:=-4063, Unicode:=True

我是需要从一个word模版中读取出☑选择的那个一个数据,所以得读取word的这个符号
haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 1 楼 github_36000833 的回复:
没有必要读取word符号。
自动化操作可以插入一个字符,并设置它的字体为Wingdings 2。

我是需要从一个word模版中读取出☑选择的那个一个数据,所以得读取word的这个符号
haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 11 楼 haohaolovels 的回复:
[quote=引用 10 楼 yhznb 的回复:]
[quote=引用 9 楼 haohaolovels 的回复:]
[quote=引用 8 楼 yhznb的回复:]Spire.Doc免费版本可以实现
读取符号
Document doc = new Document();
doc.LoadFromFile(@"test.docx");
Section section = doc.Sections[0];
foreach (Paragraph para in section.Paragraphs)
{
foreach (DocumentObject obj in para.ChildObjects)
{
if (obj is Spire.Doc.Fields.Symbol)
{
Spire.Doc.Fields.Symbol symbol = obj as Spire.Doc.Fields.Symbol;
byte characterCode = symbol.CharacterCode;
}
}
}

然后获取这符号在段落中的索引para.ChildObjects.IndexOf(symbol)和这个索引到最后一个索引之间的内容

免费版只能打开55页的文档唉。。[/quote]你是读取,可以用收费版[/quote]
好的 多谢 再咨询下怎么根据索引获取内容 spire不太会用[/quote]

string ff = ((Spire.Doc.Fields.TextRange)para[1]).Text; 这样回复的获取了

haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 10 楼 yhznb 的回复:
[quote=引用 9 楼 haohaolovels 的回复:]
[quote=引用 8 楼 yhznb的回复:]Spire.Doc免费版本可以实现
读取符号
Document doc = new Document();
doc.LoadFromFile(@"test.docx");
Section section = doc.Sections[0];
foreach (Paragraph para in section.Paragraphs)
{
foreach (DocumentObject obj in para.ChildObjects)
{
if (obj is Spire.Doc.Fields.Symbol)
{
Spire.Doc.Fields.Symbol symbol = obj as Spire.Doc.Fields.Symbol;
byte characterCode = symbol.CharacterCode;
}
}
}

然后获取这符号在段落中的索引para.ChildObjects.IndexOf(symbol)和这个索引到最后一个索引之间的内容

免费版只能打开55页的文档唉。。[/quote]你是读取,可以用收费版[/quote]
好的 多谢 再咨询下怎么根据索引获取内容 spire不太会用
haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 8 楼 yhznb的回复:
Spire.Doc免费版本可以实现 读取符号
Document doc = new Document();
doc.LoadFromFile(@"test.docx");
Section section = doc.Sections[0];
foreach (Paragraph para in section.Paragraphs)
{
    foreach (DocumentObject obj in para.ChildObjects)
    {
        if (obj is Spire.Doc.Fields.Symbol)
        {
            Spire.Doc.Fields.Symbol symbol = obj as Spire.Doc.Fields.Symbol;
            byte characterCode = symbol.CharacterCode;
        }
    }
}
然后获取这符号在段落中的索引para.ChildObjects.IndexOf(symbol)和这个索引到最后一个索引之间的内容
免费版只能打开55页的文档唉。。
rwxing_zh 2022-04-06
  • 举报
回复
@haohaolovels 这个代码没进if
haohaolovels 2020-02-14
  • 打赏
  • 举报
回复
引用 6 楼 Hello World, 的回复:
通过charcode来对比就能找出那个字符,再匹配后面的内容即可。
你可以按住alt用小键盘输入61522,再选择字体为Wingdings 2,就可以看到想要的字符了。
所以你可以用Aspose.Words一类的库来读取、匹配,找到想要的内容:



有没有免费版本Aspose.Words收费软件啊。。。我现在为了避免收费用的 用的windows自带的Microsoft.Office.Interop.Word;
Hello World, 2020-02-14
  • 打赏
  • 举报
回复
通过charcode来对比就能找出那个字符,再匹配后面的内容即可。
你可以按住alt用小键盘输入61522,再选择字体为Wingdings 2,就可以看到想要的字符了。
所以你可以用Aspose.Words一类的库来读取、匹配,找到想要的内容:


haohaolovels 2020-02-13
  • 打赏
  • 举报
回复
我是从一个word模版中读取 ☑选择框和选择框后面的数据
github_36000833 2020-02-13
  • 打赏
  • 举报
回复
比如,插入你示例图中的第一个非空字符(钢笔),自动化操作是:
Selection.InsertSymbol Font:="Wingdings 2", CharacterNumber:=-4063, Unicode:=True
github_36000833 2020-02-13
  • 打赏
  • 举报
回复
没有必要读取word符号。 自动化操作可以插入一个字符,并设置它的字体为Wingdings 2。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧