2018年3月27日 星期二

Ubuntu變慢了,檢查正在執行的程序(程式)或軟體

用了一段時間(或開啟一些軟體)後,總會感覺桌機的效率下降了。到底是什麼程序或軟體佔用了cpu,在背景運作,要查它們:

1.開啟終端機:安裝、使用 xfce4-taskmanager 即可查到,可知道佔用cpu的百分比。


 ※※※※※※
另外:開啟終端機〈參考Ubuntu變慢的研究
1.使用 gnome-system-monitor (系統監控)
看看軟體(程序)佔用的cpu、記憶體。


2.運行下面這條命令(字型)
sudo fc-cache -fv 2>&1 | grep failed | cut -f1 -d":" | xargs -i sudo touch {} && sudo fc-cache -fv

3.刪除不完整的軟體包
sudo apt-get autoclean

4.刪除系統不再使用的孤立軟體(及其配件)
sudo deborphan | xargs sudo apt-get -y remove --purge 
 
sudo apt-get autoremove

5.關閉不必要的開機自啟動軟件
(系統)設定值/[Startup Programs]→檢查並刪去不需要開機自動啟動的軟體

6.可用[系統工具]/[Task Manager]關閉不用的程序


2018年3月25日 星期日

Ubuntu中批次修圖的好工具──XnView

最近接到的掃描圖檔,開啟後,覺得有些頁面太暗了(應該是用灰階格式掃的),看起來眼睛較吃力。於是到網路上查查是否有批次處理圖檔(頁面調亮)的工具,就找到有人推薦以前曾安裝過的XnView。

★下載XnView新版
※※※※※※
★或直接安裝

For 32 bit
sudo apt-get install gdebi

wget http://download.xnview.com/XnViewMP-linux.deb

sudo gdebi XnViewMP-linux.deb
  
For 64 bit
sudo apt-get install gdebi

wget http://download.xnview.com/XnViewMP-linux-x64.deb

sudo gdebi XnViewMP-linux-x64.deb
※※※※※※
raw、jpg……等圖檔或已製作成的pdf,都可匯入加以批次處理:
1.建立資料夾(OCR01)
2.圖或pdf檔copy至OCR01
3.開啟XnView
4.點選OCR01中要轉換的檔案(一個或多個)→工具/批次轉換

5.設定:若pdf圖像不清楚,〔載入格式設定/增加解析度〕
6.輸出:
 (1)[多頁檔仍轉為多頁檔〕打鉤。
 (2)設定輸出資料夾位置(可在原資料夾)。
7.動作:以下任一選項或組合,先用少數檔案測試看結果如何,再批次處理
 (1)自動對比+(過濾)銳化82
 (2)(對映)(調整:例:亮度16/對比52/γ值1.84)
 (3)色階(黑30/白160)
 (4)(過濾)減少雜訊


2018年3月2日 星期五

Linux(Ubuntu)中從實體書(pdf)製作電子書及txt文件合併

友人掃描了實體書(雙頁掃描)要製成電子書,我從網路上搜集了資料,最後列出了各個步驟,紀錄下來,以便日後參考:

一、建book資料夾→將掃描檔剪下貼到book中→檔名改為a-all.pdf
 
二.pdf裁切出上、下頁輸出為ppm(需測試)
 [大本書]
(1)上頁: pdftoppm  -x 60 -y 50 -W 1060 -H 710 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 60 -y 850 -W 1060 -H 730 a-all.pdf dn
※※※※※※※※※
  [小本書]
(1)上頁: pdftoppm -x 260 -y 150 -W 2000 -H 1500 a-all.pdf up
★建目錄 up 存所有up檔
(2)下頁: pdftoppm -x 230 -y 1920 -W 2060 -H 1500 a-all.pdf dn
【註】若加入 -jpeg 條件則會輸出jpeg圖,但輸出時間較長,檔案較大。
★★xxx

※※※※※※※※※

★若要輸出PNG檔

  則:pdftoppm -png -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

★若要輸出jpeg檔

  則:pdftoppm -jpeg -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

★一般內定解析度為150,若要指定解析度(如300DPI)用-r係數

  則:pdftoppm -r 300 -x 60 -y 50 -W 1060 -H 710 a-all.pdf up

 
三.改檔名,以便合併pdf時,依頁數順序合併:
(1)到up中:(合併時,1-1.ppm在1.ppm之前)
rename -v s/.ppm/-1.ppm/ *
(即在原檔名後加上 -1,合併時順序會在前面)
若橫式書本,左右頁相反,則改dn的檔名
=============
(2)在up中
rename -v s/up/dn/ *(改為檔名都是dn開頭)

★★xxx
四.Copy dn中檔案至up中,並將原a-all.pdf留下,以便合併

★★xxx
五.在up中,合併
(1)每個pdf檔60頁,傳到Google硬碟辨識用
convert dn-00*.ppm dn-01*.ppm dn-02*.ppm dn-03*.ppm dn-04*.ppm a-0004.pdf

convert dn-05*.ppm dn-06*.ppm dn-07*.ppm dn-08*.ppm dn-09*.ppm a-0509.pdf


【註】2022/12/07此轉換已失效,需執行以下2行,才能使用:
(1)
$ sudo nano /etc/ImageMagick-6/policy.xml  (或從檔案找etc)
(2)找到<policy domain="coder" rights="none" pattern="PDF" />改為<policy domain="coder" rights="read|write" pattern="PDF" />

【註】形成pdf後要打開來看看頁數是否符合
【註】辨識:在Google硬碟→右鍵→以Google文件開啟→辨識完,全選copy到純文字文件軟體
==============

(2)在up中,壓縮後(作單頁辨識用
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-0004new.pdf a-0004.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合

(注意:轉換成的 Google 文件,大小上限則是 50 MB。)
=============
(3)在up中,合併為全檔(作單頁校稿用
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=a-allnew.pdf a-*.pdf
(所得的單頁pdf比原檔小很多)
【註】形成pdf後要打開來看看總頁數是否符合

★★xxx
六.將辨識好的書本文字檔進行閱讀校正,貼到電子書製作軟體中,製成電子書。
七.將電子書丟入平板中以電子書閱讀軟體閱讀;檔案小又方便。

●●●●●●●●●●

八.若辨識出來的多個文字檔合併為一個文字檔

 cat 01.txt 02.txt.... > all.txt

cat *.txt > all.txt   (要先將1~9的檔名前加上0,否則順序會錯誤)

★★★★★

九.要將docx檔轉換成pdf格式:

 libreoffice --invisible --convert-to pdf *.docx

★★★★★

十.將多個pdf檔合併成一個pdf檔,且是文字檔:

pdfunite 1*.pdf out1.pdf

pdfunite *.pdf out.pdf
★★★★★
pdftk用來拆開、合併pdf檔,使用方法:
⑴將兩個PDF文檔合併為一個新的PDF:
pdftk 1.pdf 2.pdf cat output 0102.pdf
  
⑵如果合併資料夾中的所有pdf:
pdftk *.pdf cat output all.pdf
  
⑶從文檔中刪除頁面,例如第5~19頁,並且必須使用-end指示文檔的結尾:
pdftk 01.pdf cat 1-4 20-end output 01-1.pdf
  
⑷逐頁拆分PDF文檔:
pdftk 01.pdf burst

●●●●●
★pdfseparate命令的使用:
⑴從01.pdf中提取10~15頁──未合併,並且檔名用001標示
pdfseparate -f 10 -l 15 01.pdf %03d.pdf
  
合併資料夾中所有pdf檔
pdfunite a-* all.pdf
♠♠♠♠♠
將 png 轉 jpg
ls -1 *.png|xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'

將 jpg 轉 png 
ls -1 *.jpg|xargs -n 1 bash -c 'convert "$0" "${0%.jpg}.png"'