Hi,How are you doing?
我是職場編碼(CodeVoc)。
在E000中,我們介紹了Node.js、Ruby、Electron等工具下載安裝。
這期,給你演示一下由Electron聯合Ruby製作的小工具。
播放
暫停
進入全屏
退出全屏
00:00
00:00
重播請
刷新
試試藉助Electron官方Demo,我們很容易製作一個工具展示平臺。
點擊“View Demo”會彈出我們的工具界面。
一、項目需求
這個工具的主要目的是為了完成Word-doc~docx互相轉換,Word轉換Pdf。
doc轉docx,需要下拉框選擇“docx”,
docx轉doc,需要下拉框選擇“doc”,
Word轉Pdf,需要下拉框選擇“pdf”,
接著,點擊“執行”按鈕,
即可根據文件類型,完成doc~docx互相轉換,Word批量轉換Pdf。
二、界面設計
【html】
生成標題文字:
生成表單容器:
生成佈局標籤:
生成行內標籤:
生成單行輸入框:
生成文件選擇按鈕:
生成下拉選擇按鈕:
生成普通按鈕:
【css】
關注四點前白後綠氣泡某詞平臺,搜索“職場編碼”查看源碼。
【javascript】
根據ID,選中source_file按鈕
<code>var
source_line=document
.getElementById('source_line'
) /<code>
給source_file按鈕,添加"change"事件
<code>source_line.value
=document.getElementById('source_file'
).files[0
].path /<code>
execute按鈕添加單擊事件
<code>execute
.addEventListener("click"
,function
()
{獲取參數1
,獲取參數2
,調用}) /<code>
獲取參數1
<code>var
select_name=document.getElementById('select_name'
).value
/<code>
獲取參數2
<code>var
source_line=document.getElementById('source_line'
).value
/<code>
調用Ruby腳本
<code>const
{ spawn } =require
('child_process'
)const
ls = spawn('ruby'
, ['Ruby腳本完整路徑'
,參數1
,參數2
]) /<code>
三、邏輯梳理
=> 基礎語法
引用Ruby標準庫
<code>require
"win32ole"
/<code>
創建主入口方法、分入口方法
<code>def
Main
(name,pth_source)
def
Doc_to_docx
(pth_source)
def
Docx_to_doc
(pth_source)
def
Word_to_pdf
(pth_source)
/<code>
接收控制檯傳雙參
<code>Main
(ARGV
[0]
,ARGV
[1]
)/<code>
對參數ARGV[0] => name進行判斷,根據判斷結果執行分入口方法
<code>case
namewhen
"doc"
then
Docx_to_doc(pth_source)when
"docx"
then
Doc_to_docx(pth_source)when
"pdf"
then
Word_to_pdf(pth_source)end
/<code>
提取指定文件
<code>filename= Dir.glob(pth_source+'/*.docx'
) filename= Dir.glob(pth_source+'/*.doc'
) filename.each{|i|
}/<code>
文件路徑‘\’替換為'/'
<code>pth_source
=File.dirname(pth_source).gsub('\\'
,'/'
)/<code>
提取不含後綴文件名
<code>name
=File.basename(i,'.doc'
)name
=File.basename(i,'.docx'
)/<code>
=> 對象模型
創建可視化Word應用
<code>@wap=WIN32OLE::new
("word.application"
);@wap.visible=true
/<code>
打開Excel指定工作簿
<code>wdc
[email protected](i)/<code>
執行另存Doc、Docx、Pdf操作
<code>wdc
.saveas
(pth_source +'/'
+ name +'.doc'
)wdc
.saveas
(pth_source +'/'
+ name +'.docx'
,16
)wdc
.exportasfixedformat
(pth_source +'/'
+ name +'.pdf'
,17
)/<code>
關注四點前白後綠氣泡某詞平臺,搜索“職場編碼”查看源碼。