-
-
Notifications
You must be signed in to change notification settings - Fork 156
Home
兀雨書屋 vRain Bookstore edited this page Aug 31, 2025
·
5 revisions
- 背景圖製作工具及生成圖片在canvas目錄下,開始可以直接使用工具自帶的。
- 如需定制,可複製現有背景圖配置文件,重命名後編輯相關參數,然後執行下面指令生成新背景圖。另一方面,在製作電子書時,將書籍book.cfg配置文件中的canvas_id字段與之關聯即可使用新背景圖,vrain主程序將自動讀取背景圖配置文件中的關鍵參數(尺寸、間距、版心寬度等)用於計算版面的文字字符位置數組。
perl canvas.pl -c 24_black_02
- 舉例:
perl canvas.pl -c 20_black_paper_fish
------------------------------------------------------------
创建 '20_black_paper_fish' 背景图 ...
------------------------------------------------------------
背景尺寸:2200 x 1650
背景颜色:white 背景图片:paper.jpg
整叶列数:20 版心宽度:120
四边边距:上200 下50 左50 右50
外框线宽:10 外框颜色:black
内框线宽:1 内框颜色:black
内外框距:横5 纵5
多栏模式:否 分栏线宽: 栏列线色:
是否花尾:是 鱼尾装饰:3leaves.png *鱼尾装饰图应为正方形且内容居中
鱼尾对顺:对鱼尾
鱼尾高度:上450 下1250 *以左上角为原点
上尾身长:50 上尾尾长:30
下尾身长:50 下尾尾长:30
个性印章:logo.png 个性签名:无
------------------------------------------------------------
保存到 '20_black_paper_fish.jpg'!
------------------------------------------------------------
- 背景圖cfg配置文件中的幾個關鍵參數
canvas_background_image=paper.jpg #背景圖片,将根据画布宽、高自动缩放
canvas_width=2480 #寬
canvas_height=1860 #高
canvas_color=white #背景色;背景圖設置優先
margins_top=200 #線框內線線框(承載文字)距上邊距離
margins_bottom=50 #距左邊
margins_left=50 #距下邊
margins_right=50 #距右
leaf_col=24 #整葉的總列數
leaf_center_width=120 #版心寬度
if_multirows=0 #是否多栏模式,如族譜,此時需配合vrain_mr主程序使用
multirows_num=5 #栏数
if_fishflower=1 #0,通常的三角鱼尾;1,三角魚尾添加弧形裝飾
fish_flower_image=3leaves.png #鱼尾修饰图,圖片應為正方形,透明底色,裝飾紋理主體應為白色,將自動縮小到魚身高度的黃金分割率尺寸,分別旋轉-30、30、-150、150度,然後並對齊版心側邊線及魚身高度
fish_top_y=450 #上魚尾高度,以左上角為原點
fish_top_rectheight=50 #上魚尾魚身矩形高度
fish_top_triaheight=30 #上魚尾魚尾三角高度
fish_btm_direction=1 #下魚尾方向,0向下,為顺鱼尾,1向上,為对鱼尾
fish_btm_y=1250 #下魚尾高度
logo_image=logo.png #版心下方個性logo圖片
logo_text=兀雨書屋 #位於版心下方的個性簽名,logo圖片設置優先
- 在books目錄下創建編號04的書籍目錄,將books/01樣書目錄下的book.cfg拷貝到books/04目錄下並編輯,幾個關鍵參數如下:
canvas_id=02_Black #對應canvas目錄下背景圖ID
row_num=30 #每列字數,列數自動關聯canvas_id的cfg
if_nocomma=0 #無標點符號模式
if_onlyperiod=1 #標點符號歸一化為句號
title_postfix=卷X #版心書名後綴
- 創建text目錄,放入需要製作電子書原始文本,多文本時按照000.txt、001.txt、002.txt...命名排序。
- 如存在000.txt文件則版心書名後綴為“序”,如存在999.txt文件則版心書名後綴為“附”,其他情況將按序號生成指定格式如“卷一”後綴。
- 執行測試指令,僅製作10頁,查看測試生成的pdf文件,根據效果調整book.cfg中的參數,如字體、每列字數、標點處理規則、標點大小及偏移位置等。
perl vrain.pl -b 04 -f 1 -t 1 -c -z 10
- 生成全書,下面指令將在books/04目錄下生成整合文本排序1到10內容的PDF電子書,如前每10卷一冊。
perl vrain.pl -b 04 -f 1 -t 10 -c
- 如果發生錯誤,大概率是文本中存在特殊符號造成,可添加-v參數查看具體出問題的文本序號和字符,然後編輯book.cfg中的標點處理規則進行替換或刪除,不建議直接修改原始文本,如確實需要通過修改原始文本糾錯,請務必提前做好備份。
- 定制背景圖:定制新的背景圖,如魚尾風格,大膽嘗試參數設置甚至負數及超出頁面範圍的數值,也許會報錯,但也許會生成希望的效果。
- 整段縮進:參考books/01樣書,將原始文本先存入tmp目錄,手工編輯tmp下的文件,在需要整段縮進的文字前加S2(代表整段縮2字),使用indentxt.pl對tmp目錄下tmp文本進行處理,處理後的新文本將存入text目錄下。
- 加蓋個性印章:使用我的另一個開源工具vYinn製作透明底色的個性印章,存入yins目錄在,編輯yins.cfg文件設置在具體PDF文件的具體頁碼、列數、行數位置插入相對列寬比例的印章,執行addyins.pl腳本將生成加蓋印章後的新PDF文件。
- 使用中式風格字體。
- 文本文字標準和字體標準保持一致,如台標繁體文本採用台標繁體字體。
- 不要輕易對原始文本做修改,修改前務必做好備份,避免無法回退的尷尬。