wkhtmltopdf學習記錄

主要對象

1、文檔對象

共有三種類型的“文檔對象”,他們分別是“頁面對象”,“封面對象”和“目錄對象”。

2、頁面對象

“頁面對象”是指以頁面的形式在PDF文檔中呈現的對象

3、封面對象

“封面對象”是指以封面的形式在PDF文檔中呈現的對象

4、目錄對象

“目錄對象”是以目錄的形式在PDF文檔中呈現的對象,又叫“TOC對象”

命令格式

wkhtmltopdf [GLOBAL OPTION]... [OBJECT]... <output file>

參數主要分爲全局參數區和針對某一特定對象的參數區

這裏先給出簡單的使用實例

D:\Markdown>wkhtmltopdf www.baidu.com baidu.pdf
Loading pages (1/6)
libpng warning: iCCP: known incorrect sRGB profile           ] 14%
libpng warning: iCCP: known incorrect sRGB profile           ] 24%
libpng warning: iCCP: known incorrect sRGB profile           ] 28%
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

命令參數

命令參數包含五部分,分別是“全局參數”,“大綱參數選項”,“頁面對象參數”,“頁眉和頁腳參數選項”和“目錄對象參數”。

全局參數

以下爲所有的全局參數及大概作用

    --collate             當輸出多個副本時進行校驗(這是默認設置)
    --no-collate          當輸出多個副本時不進行校驗
    --cookie-jar <path>   從提供的JAR文件中讀寫cookie數據
    --copies <number>     設置輸出副本的數量(默認主1),其實爲1就夠了
-d, --dpi <dpi>           指定一個要分辨率(這在 X11 系統中並沒有什麼卵用)
-H, --extended-help       相對 -h 參數,顯示更詳細的說明文檔
-g, --grayscale           指定以灰度圖生成PDF文檔。佔用的空間更小
-h, --help                顯示幫助信息  
    --htmldoc             輸出程序的html幫助文檔
    --image-dpi <integer> 當頁面中有內嵌的圖片時,
                          會下載此命令行參數指定尺寸的圖片(默認值是 600)
    --image-quality <interger> 當使用 jpeg 算法壓縮圖片時使用這個參數指定的質量(默認爲 94)
    --license             輸出授權信息並退出
-l, --lowquality          生成低質量的 PDF/PS ,能夠很好的節約最終生成文檔所佔存儲空間
    --manpage             輸出程序的手冊頁
-B, --margin-bottom <unitreal> 設置頁面的 底邊距
-L, --margin-left <unitreal>   設置頁面的 左邊距 (默認是 10mm)
-R, --margin-right <unitreal>  設置頁面的 右邊距 (默認是 10mm)
-T, --margin-top <unitreal>    設置頁面的 上邊距
-O, --orientation <orientation> 設置爲“風景(Landscape)”或“肖像(Portrait)”模式,
                                默認是肖像模塊(Portrait)
    --page-height <unitreal>   頁面高度
-s, --page-size <Size>         設置頁面的尺寸,如:A4,Letter等,默認是:A4
    --page-width <unitreal>    頁面寬度
    --no-pdf-compression       不對PDF對象使用丟失少量信息的壓縮算法,不建議使用些參數,
                               因爲生成的PDF文件會非常大。
-q, --quiet                    靜態模式,不在標準輸出中打印任何信息
    --read-args-from-stdin     從標準輸入中讀取命令行參數,後續會有針對此指令的詳細介紹,
                               請參見 **從標準輸入獲取參數**
    --readme                   輸出程序的 readme 文檔
    --title <text>             生成的PDF文檔的標題,如果不指定則使用第一個文檔的標題
-V, --version                  輸出版本信息後退出

大綱參數

--dump-default-toc-xsl     輸出默認的 TOC xsl 樣式表到標準輸出
--dump-outline <file>      輸出“大綱”到指定的文件(文件內容爲xml)
--outline                  在生成的PDF文檔中輸出“大綱”(這是默認設置)
--no-outline               不在pdf文檔中輸出大綱
--outline-depth <level>    設置生成大綱的深度(默認爲 4)

頁面參數

--allow <path>                指定加載HTML中相對路徑文件的目錄(可重複使用此參數指定多個
                                  目錄),這個參數會在後面進行更詳細的講解
    --background                  輸出頁面背景到PDF文檔(這是默認設置)
    --no-background               不輸出頁面背景到PDF文檔
    --cache-dir <path>            網頁的緩存目錄
    --checkbox-checked-svg <path> 使用指定的SVG文件渲染選中的複選框
    --checkbox-svg <path>         使用指定的SVG文件渲染未選中的篩選框
    --cookie <name> <value>       設置訪問網頁時的cookie,value 需要進行url編碼
                                  (可重複使用此參數指定多個cookie)
    --custom-header <name> <value> 設置訪問網頁時的HTTP頭(可重複使用此參數指定多個HTTP頭)
    --custom-header-propagation   爲每個要加載的資源添加由 --custom-header 指定的HTTP頭
    --no-custom-header-propagation 不爲每個要加載的資源添加由 --custom-header 指定的HTTP頭
    --debug-javascript            顯示javascript調試輸出的信息
    --no-debug-javascript         不顯示javascript調試輸出的信息(這是默認設置)
    --default-header              添加一個默認的“頭”,在頁面的左頭顯示頁面的名字,
                                  在頁面的右頭顯示頁碼,這相對於進行了如下設置:
                                  --header-left='[webpage]'
                                  --header-right='[page]/[toPage]'
                                  --top 2cm
                                  --header-line
    --encoding <encoding>         爲輸入的文本設置默認的編碼方式
    --disable-external-links      禁止頁面中的外鏈生成超鏈接
    --enable-external-links       允許頁面中的外鏈生成超鏈接(這是默認設置)
    --disable-forms               不轉換HTML表單爲PDF表單(這是默認設置)
    --enable-forms                轉換HTML表單爲PDF表單
    --images                      加載圖片並輸出到PDF文檔(這是默認設置)
    --no-images                   在生成的PDF文檔中過濾掉圖片
    --disable-internal-links      禁止頁面中的內鏈生成超鏈接
    --enable-internal-links       允許頁面中的內鏈生成超連接(這是默認設置)
-n, --disable-javascript          禁止WEB頁面執行 javascript
    --enable-javascript           允許WEB頁面執行 javascript(這是默認設置)
    --javascript-delay <msec>     延遲一定的毫秒等待javascript 執行完成(默認值是200)
    --load-error-handling <handler> 指定當頁面加載失敗後的動作,可以指定爲:abort(中止)、
                                    ignore(忽略)、skip(跳過);(默認值是:abort)
    --load-media-error-handling <handler> 指定當媒體文件加載失敗後的動作,可以指定爲:
                                          abort(中止)、ignore(忽略)、skip(跳過);
                                          (默認值是:ignore)
    --disable-local-file-access   不允許一個本地文件加載其他的本地文件,使用命令行參數
                                   `--allow` 指定的目錄除外。
    --enable-local-file-access    允許本地文件加載其他的本地文件(這是默認設置)
    --minimum-font-size <int>     設置最小的字號,除非必要不推薦使用該參數
    --exclude-from-outline        拒絕加載當前頁面到PDF文檔的目錄和大綱中
    --include-in-outline          加載當前頁面到PDF文檔的目錄和大綱中(這是默認設置)
    --page-offset <offset>        設置頁碼的起始值(默認值爲0)
    --password <password>         HTTP身份認證的密碼
    --disable-plugins             禁止使用插件(這是默認設置)
    --enable-plugins              允許使用插件,但插件可能並不工作
    --post <name> <value>         添加一個POST字段,可以重複使用該參數添加多個POST字段。
    --post-file <name> <value>    添加一個POST文件,可以重複使用該參數添加多個文件。
    --print-media-type            用顯示媒體類型代替屏幕
    --no-print-media-type         不用顯示媒體類型代替屏幕
-p, --proxy <proxy>               使用代理
--radiobutton-checked-svg <path>  使用指定的SVG文件渲染選中的單選框
--radiobutton-svg <path>          使用指定的SVG文件渲染未選中的單選框
--run-sript <js>                  頁面加載完成後執行一個附加的JS文件,可以重複使用此參數指定
                                  多個要在頁面加載完成後要執行的JS文件。
--disable-smart-shrinking         不使用智能收縮策略
--enable-smart-shrinking          使用智能收縮策略(這是默認設置)
--stop-slow-scripts               停止運行緩慢的javascript代碼(這是默認設置)
--no-stop-slow-scripts            不停止運行緩慢的javascript代碼
--disable-toc-back-links          禁止從標題鏈接到目錄(這是默認設置)
--enable-toc-back-links           允許從標題鏈接到目錄
--user-style-sheet <url>          設置一個在每個頁面都加載的用戶自定義樣式表
--username <username>             HTTP身誰的用戶名
--viewport-size <>                設置窗口大小,需要你自定義滾動條或css屬性來自適應窗口大小。
--window-status <windowStatus>    Wait until window.status is equal to
                                  this string before rendering page
--zoom <float>                    設置轉換成PDF時頁面的縮放比例(默認爲1)

頁眉頁腳參數

--footer-center <text>        在頁腳的居中部分顯示頁腳文本 <text>
    --footer-font-name <name>     設置頁腳的字體 (默認爲 Arial)
    --footer-font-size <size>     設置頁腳的字體大小 (默認爲 12)
    --footer-html <url>           添加一個html作爲頁腳
    --footer-left <text>          在頁腳的居左部分顯示頁腳文本 <text>
    --footer-line                 在頁腳上方顯示一條直線分隔正文
    --no-footer-line              不使用直線分隔頁腳與正文(這是默認設置)
    --footer-right <text>         在頁腳的居右部分顯示頁腳文本 <text>
    --footer-spacing <real>       頁腳與正文之間的距離(默認爲零)
    
    
    --header-center <text>        在頁眉的居中部分顯示頁眉文本 <text>
    --header-font-name <name>     設置頁眉的字體 (默認爲 Arial)
    --header-font-size <size>     設置頁眉的字體大小 (默認爲 12)
    --header-html <url>           添加一個html作爲頁眉
    --header-left <text>          在頁眉的居左部分顯示頁眉文本 <text>
    --header-line                 在頁眉下方顯示一條直線分隔正文
    --no-header-line              不使用直線分隔頁眉與正文(這是默認設置)
    --header-right <text>         在頁眉的居右部分顯示頁眉文本 <text>
    --header-spacing <real>       頁眉與正文之間的距離(默認爲零)

 頁眉頁腳參數中的<text>、<url>可以使用如下參數

[page]       當前正在被輸出頁面的頁碼
[frompage]   第一頁在文檔中的頁碼
[topage]     最後一面在文檔中的頁碼
[webpage]    當前正在被輸出頁面的URL
[section]    當前正在被輸出的章節的名字
[subsection] 當前正在被輸出的小節的名字
[date]       本地系統格式的當前日期
[isodate]    ISO 8601 格式的當前日期
[time]       本地系統格式的當前時間
[title]      當前對象的標題
[doctitle]   輸出文檔的標題
[sitepage]   當前正在處理的對象中當前頁面的頁碼
[sitepages]  當前正在處理的對象中的總頁數

目錄參數

 --disable-dotted-lines        在目錄中不使用虛線
    --toc-header-text <text>      設置目錄的頁眉文本
    --toc-level-indentation <width> 第級標題在目錄中的縮進寬度(默認爲1em)
    --disable-toc-links           在目錄中不生成指向內容錨點的超鏈接
    --toc-text-size-shrink <real> 在目錄中每級標題的縮放比例(默認爲0.8)
    --xsl-style-sheet <file>      使用自定義的 XSL 樣式表顯示目錄內容

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章