在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡要介紹一下Python-UNO的使用方法

馬哥Linux運維 ? 2018-01-04 14:54 ? 次閱讀

OpenOffice是一個免費的、開源的辦公套裝,集成了允許開發者用不同語言進行開發的API。Python-UNO讓你可以在Python環境下使用OpenOffice。本文簡要介紹了一下Python-UNO的使用方法。

OpenOffice.org作為一款免費的開源Office套裝,提供了強大的、兼容的解決方案,這為它樹立了相當好的口碑。據它所稱,下載次數已經超過了五千萬次了,而且它可以在多個平臺上運行。開發者很難忽視這樣一個項目,這也是OpenOffice.org為什么要提供API允許開發者在不同語言環境下使用OpenOffice.org的原因了。

當然了,你可能很難想像Python也包含在OpenOffice.org允許使用的語言列表中,因為Python會讓事情變得“太簡單”了。而Python-UNO恰恰把一切變成可能。OpenOffice.org利用了通用網絡對象(Universal Network Objects,UNO)。這項技術使得OpenOffice.org可以與不同語言寫成的部件兼容協作。Python-UNO提供了使用它的一個Python接口。

Python-UNO包含在OpenOffice.org里,所以不需要再安裝其他東西了。不幸的是,這有一個缺點。由于OpenOffice.org 2.0里包含的Python版本是2.3.5,所以無法使用最近添加的功能。當然也有人在努力解決這個問題,讓OpenOffice.org跟新一些的Python版本兼容。

也有一些linux發行版默認安裝Python的時候也配置了Python-UNO使之可以工作,比如Ubuntu就是這么做的。你可以運行Python嘗試import uno模塊看看行不行。如果可以的話,就讓我們開始使用Python-UNO吧。

連接OpenOffice.org

首先我們先連接OpenOffice.org,只有幾個小步驟,很簡單。在連接OpenOffice.org之前,我們要先確保它一直在監聽。這包括在啟動它的時候傳遞一個字符串給它。首先,確保OpenOffice.org完全退出(如果用的是Windows系統,還需要從系統盤中退出OpenOffice.org),然后打開終端,切換到OpenOffice.org的安裝目錄,并進入執行文件所在目錄。接下來,我們將打開OpenOffice.org Writer,傳入一個參數,允許OpenOffice.org監聽到我們之后要做的連接:

這樣打開的OpenOffice.org跟普通方式打開的外觀是沒有差別的。我們傳遞的參數創建了一個UNO接收器,它會監聽我們以便通過Python-UNO和OpenOffice.org的API進行連接。在新窗口打開程序所在目錄,找到OpenOffice.org的Python版本并執行之,這樣會進入可交互的解釋器。另外,如果你知道你的Linux發行版默認安裝的Python里已經包括了Python-UNO,那你可以像往常一樣打開Python。

第一步當然就是導入Python-UNO模塊啦,名字是uno:

必須做的第一件事是導入一個本地的組件上下文。如果你想徹底弄清楚什么是組件上下文以及它的用途,你可以自行google。這里,我們稍稍解釋一下。一個上下文管理器由一個服務管理器和相關對象組成,把它當成服務管理器存在的環境就是了。

那服務管理器是什么呢?顧名思義,服務管理器用來管理服務。它的名字就是其功能的簡單定義。最后解釋一下服務。服務就是綁定了一系列特定任務的對象。比如說,有一個特定的服務負責加載和管理文檔,另一個用來連接OpenOffice.org的設置。服務是由服務管理器進行管理的,服務管理器存在于一個組件上下文。當然啦,事情沒那么簡單,但是這里我們不需要用到其他的知識。

簡單介紹了一下組件上下文,服務管理器和服務這幾個概念后,讓我們繼續,創建一個本地的組件上下文。我們之后會用它來獲取OpenOffice.org的組件上下文:

現在我們有了一個本地組件上下文。接下來,我們還要獲取UnoUrlResolver服務。這個服務用于連接OpenOffice.org。我們需要利用服務管理器的createInstanceWithContext方法,這個方法在local.ServiceManager中。參數設為我們想要的服務名稱,和上下文實例:

簡要介紹一下Python-UNO的使用方法

這樣我們就可以連接OpenOffice.org了。很簡單,只要調用一個方法,把參數設成我們啟動OpenOffice.org Writer時傳遞的參數就可以了。之后,我們就可以利用OpenOffice.org的組件上下文,通過OpenOffice.org的API對它進行操作了:

簡要介紹一下Python-UNO的使用方法

參數跟啟動OpenOffice.org時的參數僅有微小的區別,只是加了“StarOffice.ComponentContext”請求OpenOffice.org的組件上下文而已。我們還添加了個協議(uno)在最前面?,F在,我們已經連接上了OpenOffice.org。

使用桌面服務

既然我們可以使用OpenOffice.org的API,那么讓我們來操作一下文件吧。我早前提到過有一個服務是負責當前文檔的。這個服務的名稱是“com.sun.star.frame.Desktop”。通過這個服務我們就可以玩轉啟動OpenOffice.org時創建的OpenOffice.org Writer文檔了。首先,我們需要用前面說過的createInstanceWrithContext方法拿到服務,參數是服務名稱和context。

簡要介紹一下Python-UNO的使用方法

很好,現在我們有了Desktop服務了,也有能力加載文檔并管理文檔了。我們先嘗試修改當前文檔。用getCurrentComponent方法:

修改文檔前,要先創建一個游標cursor。這很簡單:

通過游標,我們可以往文檔里添加一些內容。先試著加一段簡單的字符串:

執行上面代碼后,你應該可以看到文檔中多出一行文本。加入斷行符可以向文檔中加入換行:

簡單的縮進也很容易實現。只要加入一個縮進符“t”:

當然了,重復性地添加文本是無效的,這就是我們要操作游標的原因了。比如說,我們想把大一號的字體。這很容易通過游標屬性實現。UNO對象包括了屬性,這些屬性可以用很簡單的方法調用進行修改。在我們改變游標字體尺寸前,我們先獲取目前的字體大?。?/p>

如你所見,字體尺寸屬性的名稱叫“CharHeight”。調用另一個方法可以修改這個屬性。讓我們把字體大小改成20:

現在字體大小已經改變了,我們可以添加一些字體大小為20的文本進文檔里了:

不只是文字尺寸可以改變,基本上所有東西都能改變。讓我們改變字體和字體粗細:

淺談表格

工作中經常要用到表格,讓我們看一下怎么在Python-UNO里使用表格。先打開一個新的文檔:

在新的空白文檔上開始使用表格。我們要做的表格包含五個國家,還有每個國家的人口。所以,這個表格會有6行,其中一行是表頭;還有2列。下面是創建表格的命令:

當然,我們需要把表格的行數和列數傳遞給population。下面是初始化函數:

如果你看一下打開的文檔,你還什么都看不到。你要插入這個表格,才看得到。表格的插入跟文本插入是類似的:

現在可以開始插入表格內容了。包括兩個步驟,說明每個單元格的名字,然后插入文本。表格的第一行命名為“A”,第一列命名為“1”.這個命名模式持續到表格最后,每一個單元格的名字都是行名和列名的組合。先插入表頭:

接下來,可以把國家信息填進去了:

結論

OpenOffice.org是相當強大的工具,特別是它還提供了可以被很多不同語言調用的API。幸運的是,這些語言里包括了Python,即Python-UNO。Python開發者們可以導入這個模塊,然后創建一個本地組件上下文環境,這個環境能用來連接OpenOffice.org的上下文環境。連接后,開發者可以修改文檔。雖然這篇文章只涉及了插入文本和表格還有改變字體屬性,但是OpenOffice.org的API還提供了很多功能。有很多方法可以修改文本和表格。雖然我們只講了OpenOffice.org的Writer軟件,但是還有OpenOffice.org套裝的其他應用可以使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84863

原文標題:Python操作OpenOffice

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Python庫的twisted簡介安裝和使用方法

    Py之twisted:Python庫之twisted簡介、安裝、使用方法等詳細攻略
    發表于 12-25 10:03

    Python庫的PyMySQL簡介安裝及使用方法

    Py之PyMySQL:Python庫之PyMySQL的簡介、安裝、使用方法之詳細攻略
    發表于 12-26 10:40

    Python庫的Shutil簡介和安裝及使用方法

    Py之Shutil:Python庫之Shutil簡介、安裝、使用方法之詳細攻略
    發表于 12-27 16:46

    Python庫的Xlrd簡介和安裝及使用方法

    Py之Xlrd:Python庫之Xlrd簡介、安裝、使用方法之詳細攻略
    發表于 12-27 16:46

    Python庫的ipykernel簡介安裝及使用方法

    Py之ipykernel:Python庫之ipykernel簡介、安裝、使用方法之詳細攻略
    發表于 12-27 16:47

    python庫之basemap安裝和使用方法

    Py之basemap:python庫之basemap的簡介、安裝、使用方法之詳細攻略
    發表于 12-28 10:24

    請問一下緩沖器和譯碼器的使用方法

    本帖最后由 sunboy25 于 2019-5-16 09:54 編輯 我想問一下,有誰知道哪個教程中有介紹三態緩沖器和譯碼器在電路的使用方法?
    發表于 05-15 22:55

    介紹一下8255A芯片的使用方法

    本次我們介紹一下8255A芯片的使用方法在對8255A進行編程操作時候,我們只需要了解三個步驟:(1)控制端口寫控制字;(2)8255A端口地址計算;(3)對應端口讀/寫數據。8255A控制字
    發表于 07-29 07:37

    總結一下串口的幾種使用方法

    使用方法對以后的開發還是很有幫助的。有關串口的知識我在之前的博客中有介紹:點擊鏈接跳轉.僅向上位機打印調試信息單純利用串口向上位機打印調試信息,程序如下:void USART1_Init( uin...
    發表于 02-10 08:03

    ModelSim的簡要使用方法

    ModelSim的簡要使用方法,感興趣的小伙伴們可以瞧瞧。
    發表于 11-10 14:20 ?4次下載

    電流表的使用方法_鉗型電流表的使用方法及圖解

     電流表是指用來測量交、直流電路中電流的儀表。在電路圖中,電流表的符號為“圈A”。電流值以“安”或“A“為標準單位。本文主要介紹一下電流表的使用方法以及鉗型電流表的使用方法及圖解,
    發表于 02-08 10:18 ?11.6w次閱讀

    python中的字典(dict)對象以及其使用方法

    本文通過以英文的形式全面講解了python中的字典(dict)對象以及其使用方法
    發表于 05-15 10:00 ?1次下載

    Python基礎教程之Python界面程序開發應用技術的詳細資料概述

    本文介紹Python 開發界面程序的基本技術情況,簡要分析了各種技術的優劣,并著重探討了其中WxPython 界面庫和Tkinter 界面庫的使
    發表于 10-24 17:24 ?11次下載

    錫膏廠家淺談一下焊錫絲的正確使用方法?

    一下具體正確使用方法:1、焊錫方法要正確,使用正確的焊接方法,不但可以省時,還能減少錫渣的產生。2、焊錫絲焊接而成的焊點,只可以作為零件之間導電與散熱之用,不能作為力的支撐點。3、盡
    的頭像 發表于 06-15 14:21 ?1058次閱讀
    錫膏廠家淺談<b class='flag-5'>一下</b>焊錫絲的正確<b class='flag-5'>使用方法</b>?

    分享一下STM32基于CubeMX獨立看門狗的使用方法

    項目里面需要加個獨立看門狗,就上網了解了一下,具體原理后期有時間再分享,今天先簡單分享一下使用方法。
    的頭像 發表于 10-26 14:38 ?3491次閱讀
    分享<b class='flag-5'>一下</b>STM32基于CubeMX獨立看門狗的<b class='flag-5'>使用方法</b>
    主站蜘蛛池模板: 午夜精品久久久久久99热| 性欧美高清极品xx| 午夜丁香影院| 夜夜操夜夜骑| 美女中出视频| 四虎永久免费在线观看| 在线视频一区二区| 国产性夜夜性夜夜爽91| 成zzzwww日本免费| 久久久久久久国产精品电影| 三级在线免费| 亚洲电影一区二区三区| 国产成人乱码一区二区三区| 一级片免费视频| 停停五月天| 欲色淫香| www.激情.com| 黄色3级| 日本www黄| 亚洲男同tv| 国产精品天天在线| 色免费视频| 天天舔天天操天天干| 奇米777狠狠| 日本亚洲黄色| 天天干天天射天天舔| 又黄又湿又爽吸乳视频| 天天射天天拍| 2021国产精品久久| 国产一卡2卡3卡四卡精品网站| 欧美一级高清免费播放| 日本色片在线观看| 日韩毛片在线影视| 日韩aa| 久青草视频在线| 黄色片啪啪| 国产视频一区二区在线观看| 91色视| 国产免费一区二区三区最新| 黄的三级在线播放| 午夜免费剧场|