如何將 PDF 檔內之的表格載入資料庫

 在作機械設計應用時,手邊一定會有很多參考的資料。一般來說應用上我們只需要把手邊的資料查出我們要的數據後,代入工具之中就可以完成一次作業。然而在同一個資料需要常常使用,或者是資料量太大了,使用上不方便,這時就希望電腦上有個稱手的資料庫可以使用。

我們有很多 PDF 檔帶有很多數據,但是在使用上我們需要以下的步驟:

  1. 使用 PDF 瀏覽器開啟檔案。
  2. 搜尋內容以找到我們需要的內容,可以的話把需要的數據複制起來,然後再到文件編輯器上把資料輸入進去。

 例如我要算一下 L 型角鋼的重量,我知道所需要的長度,但是沒有單位長度的重量,所以我就要把包含 L 型角鋼的規格表找出來,L 100 x 100 x 10 (mm),  14.9 kt/m 。這樣作業一個星期做個五次、十次還好,但是一天要做個二十次、三十次。這累積下來的時間也不少。大家都知道, PDF 的表格通常有二種,第一種是使用 PDF 格式排版出來的表格,可以使用滑鼠把游標反白選擇的數據複制下來。第二種是圖面檔,該表格的呈現方式是以圖像方式嵌入 PDF 檔中,其數據無法用一般方式以游標框選複制起來。這時就要使用另外的方式獲取數據了,以人工輸入的方法是一種,使用 OCR 軟體掃描分析是一種,現在所謂的 AI 智能辨示也是方法,但是那還是以電腦科學的手段之一就是了。

就 PDF 資料格式的表格取得說起,除了商用的套裝軟體之外,自由軟體的解決方案有以下幾個:

  1. 使用 Tabula https://tabula.technology/  它可以在 PDF 指定的範圍中將表格資料以 csv 格式匯出。
  2. 如果您對編程有一定了解,可以使用 Python 語言配合 pandas 和 PyPDF2 或者 Tabula-py這樣的庫來提取數據。
  3.  PDFsam Basic 是另一款免費且開源的 PDF 處理軟體。  它可以用來合併、分割、提取頁面等,但如果要從PDF中提取表格,可能需要結合其他工具如 Excel 或 LibreOffice Calc 來處理導出的數據。

取得了目標資料後,設定格式為 csv 檔以便後續操作。將 csv 的資料依規劃的關係資料庫的程序導入目標資料庫中。

PDF 資料轉成 sqlite 資料庫流程

各申機械設計工作室/ https://sites.google.com/view/each-application/homepage 各申機械設計工作室 相關資料

半自動計算書產生程式: 碟形端板的厚度計算

思考壓力容器/桶槽設計程式

開發一個計算書程式出乎意料的麻煩,因為要考慮最終版面輸出的內容,還要考慮程式的寫作。這一份碟形端板的計算書是以 JIS B 8265 的法規進行開發的壓力容器強度計算書。以下為相關參數:

  • P= 1.0 MPa
  •  端板材料為 SA-516M Gr.485,設計溫度 (DT) 為 50 ℃
  • S= 138.0 MPa @ DT
  • E= 0.85 (SPOT RT)
  • tn= 12.0 mm
  • tc= 3.0 mm
  • Di= 1230.0 mm
  • R= 1230.0 mm
  • r0= 123.0 mm

除了麻煩的查表之外,母材的容許應力與焊接效率的判定,也著實的燒腦。在這裡可以大家討論一下,因為日本厚生勞動省告示的壓力容器建造規範顯示, SPOT RT 在端板上的焊接效率是 0.95 且抽照的範圍在整個設備焊道的 20% 以上。然而在 JIS B 8265 中使用特定材料  SA-516 70 (SA-516M 485) 時,使用的是美規材質,那麼是否適用於 ASME CODE ? 而其 ASME CODE 規定的焊接效率為 0.85 ,在端板焊道上使用對接且接受 RT 抽照。在這裡的邏輯上就要考慮一下,尤其是處理台積電日本熊本廠設備設計的時候了。

回到程式設計上,由於專業設計程式 PV Elite 內含有材料數據的資料庫,所以只要輸入材料的標準號就可以查到容許應力值。這個很方便,也是我們採購它的原因。然而我們自己要開發程式系統時,目前只能自己輸入正確的數值了。在輸入計算數值還在手動輸入的階段,就會想要加入類似 PV Elite 的功能;所以現在正在努力進行中,如果有成果,再來發布告知大家。以下是目前計算書的一點成果給大家參考。

壓力容器計算書:碟形端板厚度計算 

Pressure vessel calculation :  Thickness calculation of Torispherical

Thickness of Torispherical, Pressure Vessel Calculation Book
說明:

  • 此計算書內容僅用於程式設計及排版測試,非正式壓力容器設計文件。如果有任何問題,歡迎提供實貴的意見。
    The content of this calculation sheet is only used for programming and typesetting testing, and is an informal pressure vessel design document. If you have any questions, please provide us with valuable advice.

 參考

壓力容器設計諮詢

 壓力容器設計諮詢表單

各申機械設計工作室/ https://sites.google.com/view/each-application/homepage

 

emacs 中對於字元編碼的查詢指令

在網路上搜尋到的結果

  •  指令一:使用 C-x 8 RET
    •   步驟
      •   按 C-x 8 RET。
      •   Emacs 將在迷你緩衝區中顯示游標處字元的 Unicode 字元碼。
  •    效果   此指令將打開一個迷你緩衝區,並在其中顯示游標處字元的 Unicode 字元碼。
  •  指令二:使用 C-u C-x =
    •   步驟
      •   將游標移動到要查看字元碼的字元上。
      •   按 C-u C-x =。
    •   效果  此指令將在訊息區域中顯示游標處字元的 Unicode 字元碼。
  • 比較  這兩種指令都可用於查看游標處字元的 Unicode 字元碼。但是, C-x 8 RET 指令會打開一個迷你緩衝區,而  C-u C-x = 指令會在訊息區域中顯示結果。
  •  建議  如果您只想查看游標處字元的 Unicode 字元碼,建議使用  C-u C-x = 指令。此指令更簡單,並且不會打開一個迷你緩衝區。 

 

在 emacs 使用 C-u C-x = 取得字元字碼

各申機械計工作室 相關資料

精選文章

X2Go 中 Emacs GUI 中的中文輸入

 為何要用 X2Go 連接遠端伺服器? 使用 Debian/Linux 很久了,從接觸 Emacs 作為主要的編輯器之後,它就伴隨著我在工作上解決各稱問題。最近我使用的筆電在過了十年之後到了壽命的終結。而此時剛好接到一個案子要到客戶的公司進行認證會議,急需一個熟悉的作業環境。後來...

熱門文章