亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 OneNote 的頁面導出為 html 文件或文本?

如何將 OneNote 的頁面導出為 html 文件或文本?

C#
米琪卡哇伊 2021-11-14 17:10:55
我的問題:我知道 onenote rest web api 可以做到,但我希望使用 pc 客戶端庫。(更快)是否有任何庫可以將 onenote 頁面導出到 html 文件?我試過的例子:1.創建一個頁面:2.我嘗試使用ScipBe.Common.Office.OneNotelibary 然后我得到 xml 格式的內容void Main(){    var oneNoteProvider = new OneNoteProvider();    var pageitems = oneNoteProvider.PageItems.Where(p => p.Name =="TEST");    foreach (var item in pageitems)    {        var pageXMLContent = "";        oneNoteProvider.OneNote.GetPageContent(item.ID, out pageXMLContent, Microsoft.Office.Interop.OneNote.PageInfo.piBasic);        pageXMLContent.Dump($"{item.LastModified} {item.Notebook.Name} {item.Section.Name} {item.Name} {item.DateTime}");    }}查詢內容結果:    <one:OE authorResolutionID="&lt;resolutionId provider=&quot;Windows Live&quot;" creationTime="2018-08-04T02:07:48.000Z" lastModifiedTime="2018-08-04T02:07:48.000Z" objectID="{CC124B54-2D28-4926-ACFB-755E228E3087}{51}{B0}" alignment="left" quickStyleIndex="1">        <one:T>            <![CDATA[]]>        </one:T>        <one:OEChildren>            <one:OE creationTime="2018-08-04T02:08:07.000Z" lastModifiedTime="2018-08-04T02:08:07.000Z" objectID="{CC124B54-2D28-4926-ACFB-755E228E3087}{16}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Microsoft JhengHei';font-size:18.0pt">                <one:List>                    <one:Number numberSequence="0" numberFormat="##." fontSize="18.0" font="Microsoft JhengHei" bold="true" text="1."/>                </one:List>                <one:T>                    <![CDATA[<span style='font-weight:bold'>This is test Page</span>]]>                </one:T>            </one:OE>        </one:OEChildren>    </one:OE> 
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

我嘗試使用XDocument獲取值。


void Main()

{

    var oneNoteProvider = new OneNoteProvider();

    var pageitems = oneNoteProvider.PageItems.Where(p => p.Name =="TEST");

    foreach (var item in pageitems)

    {

        var pageXMLContent = string.Empty;

        oneNoteProvider.OneNote.GetPageContent(item.ID, out pageXMLContent, Microsoft.Office.Interop.OneNote.PageInfo.piBasic);


        var xml = XDocument.Parse(pageXMLContent);

        var ns = xml.Root.Name.Namespace;

        var html = $@"

            <html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:dt='uuid:{item.ID}' xmlns='http://www.w3.org/TR/REC-html40'>

            <body style='font-family:Calibri;font-size:11.0pt'>

                {

                    string.Join("<br>",xml.Descendants(ns + "T").Skip(1).Select(s=>s.Value)) //skip first one because it's title.

                }

            </body>

            </html>".Dump();

    }

}

查詢結果:

<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:dt='uuid:{1FA8749E-CCE5-4BC5-A803-60A7C569085E}{1}{E1954399447194725751151923730734807786438831}' xmlns='http://www.w3.org/TR/REC-html40'>

<body style='font-family:Calibri;font-size:11.0pt'>

  <br><span style='font-weight:bold'>This is test Page</span>

</body>

</html>

這種方式或許是可能的。我正在嘗試。


查看完整回答
反對 回復 2021-11-14
  • 1 回答
  • 0 關注
  • 504 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號