2018年12月3日 星期一

漢字使用環境的建置 ㈣ —— 開卷篇

我在查詢辭典時,經常還需進一步參照該辭典的原始書影,尤其是一些古文字書、辭書、韻書。一來可能是文本化後的文字仍有所錯漏,二來可能是原書仍有一些文本化難以呈現的內容,例如一些字形、樣式、插圖等等。但是如果還是必須手動去一一翻書查找,那是件困難而沒效率的事,MDict 辭典帶來的快速輔助閱讀功能便要大打折扣。於是在我心中便一直盤旋著一個想法:有沒有一種方便而又優雅的方法,讓 MDict 辭典幫我自動翻找書籍,以便能快速地找到我想參考的資料內容呢?

這個念頭縈繞心頭醞釀了許多年,幾經嘗試,終於有了一些成果……

什麼是「開卷助理」?


「開卷助理」是一款設計用來輔助 MDict 辭典查閱的軟體,它可以在使用者點擊埋有「開卷條碼」的連結時,自動帶出電子書的對應頁面,方便使用者對照參閱。可以把它簡單理解為 MDict 辭典的一個輔助「外掛」。

為什麼需要「開卷助理」?


常見的 MDict 辭典大概可以分成兩大類:「文本版辭典」與「圖片版辭典」。

「文本版辭典」體積小、可以全文檢索、可以複製內容,優點很多,但是優質的文本卻很難取得,多數仍有許多瑕疵、錯漏,故使用時偶爾仍需要有紙質辭典的掃描版本以資對照,做為查閱時的輔助。

傳統的解決方案通常是製作一部「文本版辭典」,另外再製作一部「圖片版辭典」,然後將兩個版本的辭典設定成聯合查詢。這樣做有幾個缺點:一是費時費工(「圖片版辭典」的製作雖然相對簡單,但仍有一定的繁瑣程序);二是使用時體驗不佳(多數時間可能只需要查詢文本版,但這時圖片版仍會占用版面;而遇到較長的詞條時,文本版與圖片版的對照又會很困難,需要來回地拖動捲軸、或是頻繁地切換)。

有沒有一種方法,平常只需文本版時,圖片版的內容不會出來占用版面,也不會有一大堆的圖片索引「汙染」檢索表列;而當需要有圖片版的頁面來對照時,又能輕鬆地把它呼叫出來、隨時縮放檢視比對?這也就是「開卷助理」被設計賦予的任務。

「開卷助理」的工作原理


原本想利用微軟的 Asynchronous pluggable protocols 技術來實踐「開卷助理」的功能,在正常的瀏覽器中可以動作(但會有警告訊息),但在 MDict 中卻完全不動作(MDict 不支援),因此計畫宣告失敗。

幾個月後,有了新的靈感,於是重啟計畫。這次利用 Windows 標準的剪貼簿來做為溝通的管道,只要在 MDict 的辭典內埋入「內應」,便能裏應外合地完成所需的工作。

「開卷助理」的工作原理其實很簡單。首先在 MDict 的辭典裏設置一個連結,點擊這個連結時會呼叫 Javascript,把一個特定的「開卷條碼」給送進剪貼簿。這時「開卷助理」應該早就已經「埋伏」在外,隨時等待著剪貼簿內容有所變化,一旦有「開卷條碼」被送入剪貼簿,「開卷助理」就會掃描這個「條碼」,解析出對應的資訊,然後呼叫對應的電子書閱讀器,把指定的頁面給展示出來,如此我們希望的功能便能達成了。

* 其實也不一定非得要配合 MDict,任何可以將「開卷條碼」送入剪貼簿的環境都可以配合使用。例如就有朋友利用 Excel 的儲存格來存放「開卷條碼」,點選、複製後一樣可以自動開啟書籍頁面。

(批量生成「開卷條碼」)

(點選「開卷條碼」按複製即可作動)

「開卷條碼」的格式


目前設計的格式如下:
<通道ID>://<頁碼>[+ or -<偏移量>]@<辭典名稱>[~<附加名>]
例如:「ebf://2+1@開卷助理」,其中:

<通道ID>:
做為「開卷條碼」的識別。目前我製作的辭典都使用 ebf 這個中性的通道名稱,意謂 e-book file。可根據個人的需求,自行定義不同的通道名稱。例如用 djvu 表示要開啟 djvu 格式的電子書。

<頁碼>:
辭典電子書相應頁面的頁碼。

<偏移量>:
電子書的閱讀器通常只能接受絕對的頁碼(1~N),但電子書內容的第 1 頁通常不在絕對的第 1 頁,因為還有封面、前言、目錄等等,因此可以利用加或減一個偏移量來將內容頁碼轉換成絕對頁碼。若是頁碼一致,沒有偏移,則此欄(包括加減號)可以完全省略。

<辭典名稱>:
辭典電子書的檔名(可以包含完整路徑)。

<附加名>:
給重新映射時使用的額外附加名。

「開卷助理」的設定


在通知列的「開卷助理」圖示上點擊左鍵,可以叫出簡易的設定畫面。
以右鍵點選某一筆設定,選擇編輯,即可修改設定的內容(空白處點擊右鍵則可以新增)。目前可接受的設定格式如下:
<通道ID>://<電子書閱讀器程式>|<命令行參數>
例如:「ebf://FoxitReader.exe|/A page=%d "%s.pdf"」,其中:

<通道ID>:
做為「開卷條碼」的識別。目前我製作的辭典都使用 ebf 這個中性的通道名稱,意謂 e-book file。可根據個人的需求,自行定義不同的通道名稱。例如用 djvu 表示要開啟 djvu 格式的電子書。

<電子書閱讀器程式>:
做為該通道預設的電子書閱讀程式(可以包含完整路徑)。例如:FoxitReader.exe。

<命令行參數>:
閱讀器需要的實際命令行參數,參數中可套入兩個變數,%d 代表頁碼,%s 代表辭典名稱(目前順序不可顛倒)。

編輯完畢的設定會自動記憶,重新開機也不會忘記。

使用環境的設置


下載連結:開卷助理.7z(952 KB)

「開卷助理」程式其實並不需要安裝,只要直接執行即可。但為了簡化檔案間相對路徑的複雜度,建議採用最簡單的設置方式如下:
  1. 建立一個放置辭典電子書的專用資料夾,例如:D:\掃描版辭典。
  2. 將「開卷助理」程式直接放置此處。
  3. 為了方便測試,建議自行下載取得 Foxit Reader 這款免費的 PDF 閱讀器,安裝後將 FoxitReader.exe 這個檔案以及 lang 這個資料夾(多國語言包)拷貝出來(其他亂七八糟的東西都可以不要,這樣子就是一個綠色的可攜版,取得之後就可以將它解除安裝了),然後也請直接放置此處。
  4. 把測試用的「開卷助理.pdf」、「開卷助理(雙色版).pdf」電子書都丟進這裏。
  5. 把測試用的「開卷助理.mdx」加進 MDict 辭典。
這樣就完成了基本的測試設置。

直接執行 GoPage.exe(建議將捷徑放到啟動資料夾,開機即自動執行,這樣比較省事),打開 MDict 辭典,叫出「開卷助理.mdx」辭典,隨便查詢一個詞條,然後點擊頁碼,這時應該就會自動帶出對應的 PDF 頁面了。

重新映射的設置


如果我們使用的電子書跟辭典製作者的預設不同,檔名不同(可能有不同的命名習慣)、頁碼有偏差,那該怎麼辦呢?

「開卷助理」有一個重新映射的功能,可以讓使用者重新定義電子書的對應關係。例如辭典的製作者原先設定點擊頁碼後要開啟 ABC.pdf這本電子書,只要設置一個 ABC.rmp 檔(主檔名必須與原書一致,副檔名則取 remap 之意),就可以輕鬆達成此目的。

檔案內容的格式如下:
[+ or -<偏移量>]@<辭典名稱>
例如:「+2@開卷助理(雙色版)」,其中:

<偏移量>:
可以覆蓋掉辭典製作者原先的設定,重新定義頁碼的偏移量。若是頁碼一致,沒有偏移,則此欄(包括加減號)可以完全省略。

<辭典名稱>:
可以覆蓋掉辭典製作者原先的設定,重新定義辭典電子書的檔名(可以包含完整路徑)。

rmp 檔案基本上就是一個純文字檔,若辭典名稱中含有中文或是一些特殊符號,則檔案編碼建議採用 UTF-8 或是 UTF-16 帶有 BOM 的格式(請注意:不帶 BOM 的格式將不被接受)。

某些電子書是眾多分冊的合輯,而各分冊的頁碼又是彼此獨立並不接續。遇到此類電子書,辭典製作者只要分別指定偏移量不同的相同開卷條碼即可,但若遇到使用者想重新映射,因為開卷條碼的辭典名稱都相同,便無法區分是哪一分冊,該用什麼檔名或偏移量來正確開啟電子書。

要解決此一問題,辭典製作者可以在各分冊的開卷條碼中指定不同的附加名,例如:「ebf://<頁碼>+10@電子書合輯~01」、「ebf://<頁碼>+100@電子書合輯~02」、「ebf://<頁碼>+220@電子書合輯~03」……。當沒有設置重新映射時,「開卷助理」會忽略所有的附加名,直接用 +10、+100、+220 的偏移量來開啟名為「電子書合輯」的這本電子書。若使用者想設置重新映射,則需以「電子書合輯~01.rmp」、「電子書合輯~02.rmp」、「電子書合輯~03.rmp」來分別對應各分冊的開卷條碼,如此便能達到正確區分的目的。

後記


「開卷助理」於 2016 年完成初版,一開始只定位在給自己使用的輔助閱讀工具,介紹給幾位好友使用之後,頗受好評,便在學界的一些朋友圈小範圍慢慢傳播開來。經過這兩年來陸續的小幅修正、改版,程式更趨穩定,於是決定正式公開發布。

MDict 配合「開卷助理」的實際使用情境圖,點擊辭典的頁碼後自動開啟對應的 PDF 頁面

一本喜好閱讀之初心,將此成果無條件分享出來,樂見學術研究、教育工作、個人閱讀這方面的運用,但請勿用做任何形式的商業營利行為

好友阿良兄的 引得市 網站便全面內嵌有 「開卷條碼」,歡迎多加利用(具體的使用方式請參看網站的 使用說明)。

我製作的辭典,有頁碼標示的(例如康熙字典、說文解字、廣韻字典、集韻字典),都可以配合「開卷助理」來開啟掃描版書影,希望這個小工具對各位有所幫助。

p.s. 各位如果有自己慣用的電子書閱讀器,可以自行加以設置;若是就決定使用內文所提的 Foxit Reader,可以在它的 "檔案\偏好設定" 裏修改介面語言、停用廣告等等,請依自己的喜好調整版面。



29 則留言:

  1.   國學大師>字典首頁,有好些韻書、字詞典影本,字頁對照,
    有啥法子,把它取來整編呢?
     
      http://www.guoxuedashi.com/zidian/4E00.html

    回覆刪除
    回覆
    1. 阿文兄,那些我多數都有整理,或是正在整理中,可以公開的,我陸續都會發布出來。

      刪除
  2. WFG先生,你應當介紹一下製作MDX時如何顯示支持“開卷助理”的頁碼,好讓大家也製作支持“開卷助理”的MDX,正像MDICT詞典程序的作者介紹如何製作MDX那樣。藉助衆人之力,你的“開卷助理”就會流傳廣汎,你說是吧。

    回覆刪除
    回覆
    1. 您好!感謝您的建議。其實製作的方法很簡單,我在「開卷助理」的工作原理一節已經說明:

      在 MDict 的辭典裏設置一個連結,點擊這個連結時會呼叫 Javascript,把一個特定的「開卷條碼」給送進剪貼簿。

      或許是太簡單,所以讓您認為我沒說明,呵呵!俗話說:「最好的說明就是給一個範例。」我在「開卷助理」的壓縮包裡附上了一個只有七個詞條、簡單卻很完整的範例,相信會製作 MDict 辭典的朋友稍微看一下就能上手。

      這件事唯一略有門檻之處是 Javascript 的指令,要懂程式的朋友才能看懂。不過若真的沒學過 Javascript 也不要緊,就照抄我的範例即可,把範例當成一個樣版,套用到其他詞典內容上,相信很容易就能成功。

      或許等我有空再針對這個題目另行撰文,不過等著我整理的資料實在太多,要有空檔,可能要等上好一陣子了!

      刪除
  3. 廣韻字典、集韻字典有下載嗎?

    回覆刪除
    回覆
    1. 抱歉,父親一場大病,這一兩個月都在醫院日夜照護,短時間無法處理辭典相關事宜,敬請見諒!

      刪除
  4. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 印象中是的,不能讓它存在空格

      刪除
  5. 您好:
    謝謝分享好用軟體!
    我想用開卷助理來檢索掃描的圖檔,保持圖檔才能持續加工處理,因此希望不要轉成PDF。
    目前已經做好了詳細的圖檔索引,也在開卷助理的dat檔中設定了jpg閱讀軟體路徑。
    但由於是圖檔,都放在同一資料夾中;從開卷條碼的設定來看,似乎是一個圖檔就要設定一個條碼,若有五千張圖片,就要設定五千個條碼了。
    不知道我有沒有誤會使用方法,是否有更簡潔的設定方式?

    回覆刪除
    回覆
    1. 您好,您希望的檢索是能檢索到某一張圖吧(以單張圖為最小單位),如此自然要每一圖檔都有一個唯一的條碼,否則如何能定位呢?您說是吧!

      依您的需求,目前有一個方法可以達成:

      將所有圖檔依流水號命名並壓縮打包成一個壓縮檔,並將壓縮檔副檔名更名為對應的圖片書標準(rar 改為 cbr;zip 改為 cbz)。然後用 SumatraPDF 一類支援開啟圖片書(通常就是指掃描的漫畫書)的軟體來當閱讀器,開卷條碼大概就像這樣:「cbz://0100@XXX」。其中 xxx 是您的圖片書檔名,而 0100 就是圖檔的流水號,只要代換這個部分就可以開啟對應的圖片。

      由於就是標準的壓縮檔,您可以利用壓縮軟體輕易地開啟圖片書檔,隨時置換其中的某些圖片檔,滿足您修改的需求。

      p.s. 以 SumatraPDF 為例,開卷助理的dat檔設定:cbz://SumatraPDF.exe|-page %d "%s.cbz"

      刪除
    2. 您好:
      謝謝回覆!
      我平常也是用CBZ保存漫畫,看來這的確是最簡潔的辦法了。可惜WIN平台上沒啥好用的閱讀器。
      目前已經設定好了,非常感謝您的程式以及教學,謝謝!

      刪除
    3. 不客氣!

      其實一開始我也是打算用 cbz 格式來打包一些字典、古籍的掃描檔,找到比較趁手的免費閱讀器如 SumatraPDF、HoneyView 等,可惜遇到數GB的高清大檔時都有問題,最後只好放棄,還是轉成 PDF 格式來用。

      不過您的提問倒是觸發了我的靈感,或許下一版開卷助理,我可以加上一個特殊通道,直接可以開啟指定資料夾下的索引圖片(預設用作業系統附的 Windows 相片檢視器),這樣就可以保持圖檔不必壓縮,也沒有壓縮檔太大的問題了。

      刪除
  6. 您好:
    GoPage 實在是個非常好的軟體,可以說我的研究生活中已經不能沒有它了,衷心感謝!
    想請教的是,word或PDF中是否有可能以埋入java腳本的方式,點擊即打開PDF?
    如此便可以使檔案之間彼此連動,更加方便。
    期待下一版能增加特殊通道打開圖片功能~
    百忙中打擾,深感抱歉!

    回覆刪除
    回覆
    1. 感謝您的肯定!我自己也是一天不能沒有它,整理漢字的過程經常需要查閱歷代字書、韻書與各式書籍,幾乎全靠 GoPage 來快速幫我查閱。

      Word 或 PDF 中大概是無法運行 java 腳本的,但您還是可以把「開卷條碼」以純文字的形式直接寫在頁面某處,需要連動時,人工選取該段文字然後按複製,稍微麻煩點,一樣可以觸發 GoPage 作動。

      這一年多來都忙於漢字的整理,還沒時間去修改程式,不好意思,開啟圖片的功能可能還要讓您等一等了,呵呵!

      刪除
  7. 呵呵!聽得出來您對阿良兄的引得市收費頗有微詞。

    老實說「請勿用做任何形式的商業營利行為」無非只是個個人理念性的宣告,實際上毫無約束力可言。我設計的工具、整理的數據資料,一旦公開就是攤在陽光下,任何人都能取而用之,我也從沒想過要加上什麼保護之類的。以 GoPage 為例,如果有心人真想拿來營利,這技術門檻又不高,隨便找個懂編程的人,大概不用半天就能完成一個類似的工具,我管得了、又防得了嗎?

    我的初心很單純,無非是自己有興趣,又沒有稱手的工具,於是就自己打造一個,進而希望跟我有同樣興趣的人都能享受到這便利,不再為沒有稱手的工具而苦。我很幸運,有穩定的工作,不必為經濟問題掙扎,這些純粹只是業餘的興趣不為圖利。真要圖利,我也不會笨到選這領域來著力,能有幾個粉絲?幾十個?幾百個?能有一千個,大概都能令我咋舌。隨便找個吃喝玩樂的題目,說不定粉絲都能有個幾十萬,那才有利可圖,呵呵!

    引得市轉型為收費,背後有它為長久經營不得不的苦衷。阿良兄為此找我談「部件檢索」、「開卷助理」的授權時,我也有那麼片刻的遲疑,這違背了我的本心了嗎?如果引得市無法支撐下去又會是學界之福嗎?可惜我沒馬雲、祖克伯的財力,否則來個知名企業的長期贊助問題就都解決了,呵呵!

    且放寬心懷,如果您曾因「免費的引得市」而受惠,那麼便感恩曾為它付出的眾人吧!如果您實在無法接受「付費的引得市」,那麼便放手隨它去吧!也寄語阿良兄,若是有一天真能爭取到企業的贊助,或是解決了營運的經濟壓力,能讓那個「免費的引得市」再現江湖,大家再一本初心地痛痛快快玩一場,呵呵!

    回覆刪除
  8. 您好:
    又來請教打擾,不好意思!
    問題不知道是mdx或GoPage的緣故。
    以下兩條範例,java腳本完全一樣,搜索詞為漢字時,可以正常打開PDF;但搜索詞為數字時,卻打不開。不知您有何線索嗎?謝謝!



    a href="javascript://;" onclick="SetCode('ebf://1@Book1')">1
    />
    1
    a href="javascript://;" onclick="SetCode('ebf://1@Book1')">1
    />

    (由於留言時出現「有不允許的標記或屬性」錯誤訊息,所以將開頭的<號刪除。)

    回覆刪除
    回覆
    1. 最後的/a應該是自動被系統「和諧」了……

      刪除
    2. 從您提供的訊息來看,不應該有所差別。我猜問題應該不在漢字或數字,而在您製作 mdx 的某個細節上,方便的話麻煩您把原始文件及編譯好的 mdx 上傳到雲端空間,再把連結貼到這裡,我有空時幫您看一下,看能否找出問題所在。

      刪除
  9. 實在非常感謝協助!
    原本在處理的資料是數萬筆的數字索引,因為怎麼樣也無法讓GoPg打開,所以便一直化簡內容。
    測試的檔案就只有兩條,腳本都是複製貼上,完全一樣,只有索引字頭是變數。
    以下DropBox內就是我實測的檔案:
    https://www.dropbox.com/sh/i6zzvpd4gopuim4/AACyC7NI6Ia51uR1oEziolURa?dl=0
    在我使用的Goldendict Qt 6.3.0上,漢字字頭可以成功打開,數字就不行了,實在很奇怪。
    非常感謝您願意協助!!

    回覆刪除
    回覆
    1. 我測試了一下,點擊會有錯誤訊息,因為找不到 SetCode(),您說漢字字頭可以成功打開,因此我猜測您還有外置的 js 檔配合,沒有提供給我。看了您的原始文本,有標籤錯誤,或許因此造成問題。〈/a〉您打成了〈/〉,這或許就是您遇到問題的癥結,您修正一下,若是還有問題,請再提供完整的檔案,方便我幫您找問題。祝成功!

      刪除
  10. 非常感謝您如此熱心!
    由於我對程式一竅不通,因此實在不知道外置js檔是什麼,至少我沒設定、處理過這玩意兒??倒不是不能或不願提供。JS腳本是按照您在程式中提供的範例,試著摸索出來的。
    最初想做這個mdx的目的,是要作整理資料的新舊編號對照,查出編號後,若有需要可用GoPg開啟圖檔確認。原始文本只是大量的數字而已,實在也沒有更多不同。
    由於一直失敗,本以為是腳本問題,所以在反覆測試時,我都只使用一條條目而已,讓環境更單純。由於實在找不出問題時,試著改了漢字字頭,才發覺竟然可以打開。
    察覺是字頭問題後,我才又加入另一條條目,只有字頭是變數,腳本就是複製貼上,果然還是漢字可以、數字不行。
    傳給您的TEST檔案,也真的是我測試用的檔案,應該是反覆修改的過程中,不知哪時少了a。在傳給您前,那個mdx我也真的試用過,確認數字條目真的不行,而漢字條目可以。
    剛才補上了a,重新打包,結果還是一樣,數字條目不行。修改過的檔案也放上dropbox了,但如此單純的內容應該沒什麼用處。
    我目前就不加入腳本了,直接ebf://明碼附上,只是多個選取複製的動作,依然可用。似乎這問題也不是GoPg的問題。
    無論如何,實在非常感謝您的協助,以及您無償提供如此好用的程式。現在我都設定開機就執行GoPg,因為只要工作查資料就不能沒有它呀!

    回覆刪除
    回覆
    1. 沒有額外的 js 照說您的 mdx 是不會正常動作的,而您能部份正常動作,我猜測您是不是有把這個測試的 mdx 與某本我製作的辭典放在同一個辭典群組了?如果是,這算是 Goldendict 的一個缺陷,反倒讓您「撿了個便宜」,呵呵!您可以試著把這個測試的 mdx 獨立放在一個辭典群組,看是不是就不能動作了。

      您不會寫程式不打緊,明天若是我抽得出空的話,我依著您的文本改一個範例給您,之後您只要依樣畫葫蘆往裡頭加資料就行了。若是明天沒給您回應,就是行程太緊,稍候一二日,端午連假期間應該就能改給您。不過 Goldendict 的版本繁多,各有各的問題,您得先確認我製作的辭典(例如《說文》或是《本草》)在您的 Goldendict 裡能夠正確觸發 GoPage,否則可能要用 MDict PC 才能確保一定能正確工作。

      刪除
    2. 實在很不好意思,讓您如此費心!
      放在獨立群組之後,還真的不能用了XD
      我的Goldendict確實放了多部您製作的辭典,《說文》可以正常觸發GoPg沒問題。
      請您有空時再處理即可,這兩天一直打擾您,真的不好意思!也非常感謝!

      刪除
    3. 只是舉手之勞而已,不必客氣,呵呵!我給您提供了兩個方案:

      A方案:依您原來的方式,改變最小,您只要在每個詞條的開頭加上一段程式代碼即可。缺點是代碼又臭又長,每個詞條都得複製一次,詞條一多,體積就會很驚人。若是不小心改動到了代碼,要找問題可就傷腦筋了。

      B方案:這是我慣用的方式,文本會變得很精簡,易於編輯維護。缺點則是會多用一個 Style 檔,編譯時要特別指定。基本上利大於敝,不過某些辭典軟體對這種方式的支援可能比較會有問題。

      兩個方案的相關檔案分別置於對應的資料夾,編譯好的 mdx 也在其中,我用 MDict PC 都測試過,不管漢字或是數字詞條都沒問題,萬一在您的環境下不行,那大概便是 GoldenDict 的相容性問題了。

      編譯時要特別注意選項有沒有選對,每個方案我都附上了一張「編譯選項」的實際截圖,除了檔案路徑可能與我不同外,其餘務必仔細核對需與截圖一致。祝您順利成功!

      檔案:https://drive.google.com/file/d/1TQfIMos61PqVA-SsyFhjPTZfH7wEYc9P/view?usp=sharing

      刪除
    4. 實在是太感謝了!
      檔案已下載完,等等來試試看。
      我最近試做字典,也都是採用B方案,真的非常謝謝!!

      刪除
  11. 成功了!在獨立的群組也沒問題!謝謝!
    與預期不同的是,我是採取A方案。關於此方案只有一個小問題:在您給我的範本中,/script 之後有換行,實際上測試,好像換不換行都不影響,兩者皆可?B方案中 /a 之前也有換行,好像也是不影響?
    之所以暫時沒採用B方案,是由於圖檔數量太多(這也就是我之前曾請教您是否能開啟指定資料夾中圖片的問題),所以我實際上分為二十多個PDF,亦即 Book1 to Book2x 。在此方案中,由於條碼寫死在樣式中了,所以若要採取此方案,是否有多少PDF就要設定多少樣式,改寫條碼,逐一對應?抑或@之後也可以設一個變數?
    又,樣式名稱應該沒有限定對嗎?改為64-1之類應該沒關係?
    又,方案樣式64中 span style 至 /font 部分似乎可以省略?因為我只需要數字對照而已,沒啥需要說明的XD
    問題實在有點多,真是太不好意思了!目前用A方案已完全可行,除了感謝真不知道要說什麼!謝謝!

    回覆刪除
    回覆
    1. 1. 是,在 html 語法中,一個標籤的結束與另一個標籤開始之間,通常換不換行是不影響的。
      2. 對的,有多少 PDF 就設多少個樣式,譬如《漢語大詞典》分成12卷,各卷頁碼獨立並不接續,我就是設 101 ~ 112 共 12 個樣式來對應,這樣樣式的末2位數就是卷號,很容易對應。
      3. 樣式名稱有限定,必須是一個整數,「64-1」這樣的名稱是不被接受的。至於整數的上限到哪裡,我記得原作者並沒有交待,我也沒有特別去測試,但應該 1~ 255 是沒有問題的,應該足夠使用。
      4. 樣式中實際的格式您完全可以依您的需求自訂,我給的只是個範例,不必拘泥。若是不清楚行不行,改了測試一下就知道,不行就退回去。有一個確定成功的範例作基礎,摸索起來就比較踏實了。
      不必客氣,希望對您有所助益,呵呵!

      刪除
    2. 感謝您熱心指點,這兩天收穫極大,終於了了一樁心事。
      能夠和您請教、學習,真是我的幸運!謝謝!

      刪除