成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么將SAPDocumentBuilder的word控件設(shè)置成只讀模式-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)怎么將SAP Document Builder的word控件設(shè)置成只讀模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到汪清網(wǎng)站設(shè)計(jì)與汪清網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋汪清地區(qū)。

最近我正在從事一個(gè)客戶(hù)項(xiàng)目,客戶(hù)的一個(gè)要求是他們不希望word文檔在word控件中可編輯。

這意味著工具欄中的所有按鈕和菜單都應(yīng)該被禁用。

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

image

The first idea comes to my mind is the flag “enableReadWrite“.

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

image

As documented in  sap help,it can fulfill my help but unfortunately it is deprecated. Regardless of this warning I have a try and found it does not work indeed.

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

然后我推測(cè),如果上傳的文檔是只讀的,那么工具欄肯定會(huì)被禁用。因此,問(wèn)題變成了如何在上傳過(guò)程中將文檔標(biāo)記為只讀。

自word 2007以來(lái),MS office的格式遵循所謂的“Open office”協(xié)議,其規(guī)范可在此處找到。

如果將文件類(lèi)型擴(kuò)展名從更改為。docx到。使用WinRAR壓縮并打開(kāi)它,您會(huì)發(fā)現(xiàn)該文檔實(shí)際上是由多個(gè)單個(gè)文件組成的包(在SAP internal中稱(chēng)為文檔部分)??删庉嬓杂晌募O(shè)置控制。xml。

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

如果你不知道確切的語(yǔ)法,就用谷歌搜索。我在谷歌的解釋中使用了:

現(xiàn)在任務(wù)非常簡(jiǎn)單,只需在文檔源代碼中添加必要的xml標(biāo)記即可。您不需要手動(dòng)解析文檔源代碼,因?yàn)镾AP已經(jīng)完成了這項(xiàng)工作。您可以重用標(biāo)準(zhǔn)類(lèi)CL_DOCX_文檔。

由于我需要在“設(shè)置”節(jié)點(diǎn)中插入文檔保護(hù)節(jié)點(diǎn),因此為此編寫(xiě)了一個(gè)簡(jiǎn)單的轉(zhuǎn)換。魔術(shù)在第18行和第21行之間。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word"xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14" version="1.0">
  <xsl:output encoding="UTF-8" indent="no" method="xml" omit-xml-declaration="no" version="1.0"/>
  <!-- Match everything all nodes and attributes -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="w:settings">
    <xsl:element name="w:settings">
      <xsl:for-each select="@*">
        <xsl:copy/>
      </xsl:for-each>
      <xsl:element name="w:documentProtection">
        <xsl:attribute name="w:edit">readOnly</xsl:attribute>
        <xsl:attribute name="w:enforcement">1</xsl:attribute>
      </xsl:element>
      <xsl:copy-of select="./*"/>
    </xsl:element>
  </xsl:template></xsl:stylesheet>

and find a proper place to call the transformation:

 DATA: lr_element   TYPE REF TO if_wd_context_element,
         lv_file_data TYPE xstring,
         lv_ret       TYPE i,
         lx_temp      TYPE xstring,
         lv_msg       TYPE string,
         lt_parms     TYPE /ipro/tt_key_value_pair,
         ls_parm      LIKE LINE OF lt_parms.
   lr_element = me->wd_context->get_element( ).
   CHECK lr_element IS NOT INITIAL.
   lr_element->get_attribute( EXPORTING name = 'BINARY' IMPORTING value = lv_file_data ).
   DATA(lo_docx) = cl_docx_document=>load_document( lv_file_data  ).
   DATA(lo_main_part) = lo_docx->get_maindocumentpart( ).
   DATA(lo_docx_settings) = lo_main_part->get_documentsettingspart( ).
   DATA(lx_settings) = lo_docx_settings->get_data( ).
   /ipro/cl_docx_utilities=>transform( EXPORTING  iv_input_xstring    = lx_settings
                                   iv_transform_name  = '/IPRO/DOCXCC_PROTECT'
                                   it_parameters      = lt_parms
                        IMPORTING  ev_result          = lx_temp
                                   ev_ret             = lv_ret
                                   ev_message         = lv_msg  ).
   lo_docx_settings->feed_data( lx_temp ).
   DATA(lx_docx_package) = lo_docx->get_package_data( ).
   lr_element->set_attribute( EXPORTING name = 'BINARY'  value = lx_docx_package ).

after that the tag will be there in settings.xml:

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

image

The word control before upload document looks like below, buttons and menus available:

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

image

After upload, menu and button are disabled. If you try to edit the document, there will be notifications in the right pane to give you a hint that is not possible.

怎么將SAP Document Builder的word控件設(shè)置成只讀模式

當(dāng)然,此解決方案不適用于較低版本的MS word,如word2003。幸運(yùn)的是,我的客戶(hù)有足夠的錢(qián),他們已經(jīng)在使用Office 2013,所以我不必為此擔(dān)心。

關(guān)于怎么將SAP Document Builder的word控件設(shè)置成只讀模式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:怎么將SAPDocumentBuilder的word控件設(shè)置成只讀模式-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://jinyejixie.com/article34/gpjpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、域名注冊(cè)響應(yīng)式網(wǎng)站Google、品牌網(wǎng)站設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
珠海市| 神池县| 东乡| 务川| 中方县| 鄢陵县| 关岭| 依兰县| 台南县| 鹤山市| 平利县| 信丰县| 民县| 阿拉尔市| 阿鲁科尔沁旗| 云龙县| 略阳县| 沧州市| 云梦县| 江油市| 清镇市| 安乡县| 禄丰县| 韩城市| 麻栗坡县| 泰顺县| 长治县| 长治县| 永登县| 伊宁市| 綦江县| 金山区| 高雄市| 莱芜市| 凤山市| 江西省| 皮山县| 桃江县| 澜沧| 桐柏县| 静宁县|