日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【C#】使用 wkhtmltopdf 在 PDF 中設(shè)置自定義頁(yè)眉和頁(yè)腳內(nèi)容

admin
2024年11月17日 21:50 本文熱度 1545

前言

使用 wkhtmltopdf 實(shí)現(xiàn)轉(zhuǎn)換 PDF 時(shí),是否可以設(shè)置自定義頁(yè)眉和頁(yè)腳內(nèi)容?wkhtmltopdf 作為一個(gè)命令行工具,它提供了全局參數(shù)、大綱參數(shù)選項(xiàng)頁(yè)面對(duì)象參數(shù)、頁(yè)眉和頁(yè)腳參數(shù)選項(xiàng)目錄對(duì)象參數(shù)五種命令參數(shù)。本文介紹頁(yè)眉和頁(yè)腳參數(shù)選項(xiàng)實(shí)現(xiàn)自定義頁(yè)眉和頁(yè)腳內(nèi)容。

命令參數(shù)

1、頁(yè)眉和頁(yè)腳參數(shù)

  • 頁(yè)眉

--header-center [text]:在頁(yè)眉中居中指定文本;--header-left [text]:將文本放置在頁(yè)眉的左側(cè);--header-right [text]:將文本放置在頁(yè)眉的右側(cè);--header-html [url]:允許對(duì)標(biāo)題使用自定義的 HTML 文件【包含格式化文本、圖像等】;

  • 頁(yè)腳

--footer-center [text]:在頁(yè)腳中居中指定文本;--footer-left [text]:將文本放在頁(yè)腳的左側(cè);--footer-right [text]:將文本放置在頁(yè)腳的右側(cè);--footer-html [url]:允許對(duì)頁(yè)腳使用自定義的 HTML 文件【包含格式化文本、圖像等】;

  • 動(dòng)態(tài)元素

頁(yè)眉或頁(yè)腳參數(shù)的text用下面元素替換,則可顯示對(duì)應(yīng)的內(nèi)容。如 --footer-center "[page] of [topage]"

[page]:當(dāng)前頁(yè)碼[toPage]:總頁(yè)數(shù)[date]:當(dāng)前日期[time]:當(dāng)前時(shí)間[title]:文檔標(biāo)題[subTitle]:文檔副標(biāo)題[pageNumber]:頁(yè)碼[totalPages]:總頁(yè)數(shù)

  • 樣式選項(xiàng)

#region 頁(yè)眉--header-spacing [value]:控制頁(yè)眉與內(nèi)容之間的間距;--header-font-size [size]:設(shè)置標(biāo)題文本的字體大??;--header-line:在頁(yè)眉下方顯示一條直線分隔正文;#endregion
#region 頁(yè)腳--footer-spacing [value]:控制頁(yè)腳與內(nèi)容之間的間距;--footer-font-size [size]:設(shè)置頁(yè)腳文本的字體大??;--footer-line:在頁(yè)腳上方顯示一條直線分隔正文;#endregion

2、頁(yè)面對(duì)象參數(shù)

#region 部分--print-media-type:用顯示媒體類型代替屏幕;--no-print-media-type:不用顯示媒體類型代替屏幕;--page-offset <offset>:設(shè)置頁(yè)碼的起始值(默認(rèn)值為0);--encoding <encoding>:為輸入的文本設(shè)置默認(rèn)的編碼方式;--zoom <float>:設(shè)置轉(zhuǎn)換成PDF時(shí)頁(yè)面的縮放比例(默認(rèn)為1);#endregion

3、全局參數(shù)

#region 部分--margin-bottom <unitreal> 設(shè)置頁(yè)面的 底邊距;--margin-left <unitreal>   設(shè)置頁(yè)面的 左邊距 (默認(rèn)是 10mm);--margin-right <unitreal>  設(shè)置頁(yè)面的 右邊距 (默認(rèn)是 10mm);--margin-top <unitreal>    設(shè)置頁(yè)面的 上邊距;--page-height <unitreal>   頁(yè)面高度;--page-size <Size>         設(shè)置頁(yè)面的尺寸,如:A4,Letter等,默認(rèn)是:A4;--page-width <unitreal>    頁(yè)面寬度;--quiet                    靜態(tài)模式,不在標(biāo)準(zhǔn)輸出中打印任何信息;#endregion

4、命令參數(shù)詳解附錄

https://wkhtmltopdf.org/usage/wkhtmltopdf.txt

自定義示例

1、轉(zhuǎn)換的HTML文件

<!DOCTYPE HTML><html>   <head>   <meta charset="gbk">   <title>測(cè)式文件</title>           </head>   <body>      <div id="sse">      <input id="url" size=200 value="ws://127.0.0.1:8080/service" /><button id="btn1" onclick="changewebsocket(this)" tt=1>打開(kāi)連接</button><br>    <input id="msg" size=200 value='測(cè)試內(nèi)容'/>    <button onclick="sendmsg()">發(fā)送數(shù)據(jù)</button><br>    <textarea id="onmsg" rows="10" cols="30"></textarea>      </div>   </body></html>

2、作為頁(yè)眉的HTML 文件

<!DOCTYPE html><html lang="en">  <head>    <title>      Testing    </title>  </head>  <body>    <table cellpadding="0" cellspacing="0" border="0" style="width:100%">      <tr>        <td style="max-width:40%">          <img alt="text" src="https://profile-avatar.csdnimg.cn/7d678480185a4ae5babed86c378e532e_funniyuan.jpg!1"          style="max-width:100%">        </td>        <td style="max-width:60%">          <table cellpadding="0" cellspacing="0" border="0" style="width:100%">            <tr>              <td align="center" style="font-size:30px;color:#e14a3a;font-family:SimHei;font-weight:600;padding:15px 0 5px">                Company Name              </td>            </tr>            <tr>              <td align="center" style="font-size:16px;color:#0a0f84;font-family:SimHei;padding-bottom:10px">                Invoice              </td>            </tr>          </table>        </td>      </tr>      <tr>        <td colspan="2" style="width:100%;border-width:1px;border-style:solid;border-color:#000">        </td>      </tr>    </table>  </body></html>

3、實(shí)現(xiàn)與調(diào)用

using System.Diagnostics;
namespace Fountain.WinConsole.ToPDFOrImageDemo{    public class ConverterPDF:IConverterEngine    {        /// <summary>        /// wkhtmltopdf 工具路徑        /// </summary>        public string ConverterPath { get; }        /// <summary>        /// 轉(zhuǎn)換類型        /// </summary>        public int EngineType { get; } = 1;        /// <summary>        ///        /// </summary>        /// <param name="converterPath"></param>        public ConverterPDF(string converterPath)        {            ConverterPath = converterPath;        }        /// <summary>        ///        /// </summary>        /// <param name="htmlPath"></param>        /// <param name="outputPath"></param>        /// <returns></returns>        public bool Convert(string htmlPath, string outputPath)        {            try            {                var ticks = DateTime.UtcNow.Ticks;                string optionSwitches = "";
               #region 頁(yè)眉                // 設(shè)置標(biāo)題字體大小                optionSwitches += "--header-font-size 10 ";                // 將 header.html 作為頁(yè)眉內(nèi)容                optionSwitches += "--header-html header.html ";                #endregion
               #region 頁(yè)面                // 使用的打印介質(zhì)類型,而不是屏幕                optionSwitches += "--print-media-type ";                // 邊距                optionSwitches += "--margin-top 40mm --margin-bottom 10mm --margin-right 10mm --margin-left 10mm ";                // 紙張大小                optionSwitches += "--page-size A4 ";                #endregion
               #region 頁(yè)腳                //                optionSwitches += "--footer-font-size 8 ";                // 在頁(yè)腳的居中部分顯示頁(yè)腳文本                optionSwitches += "--footer-right \"[page]/[topage]\" ";                #endregion
               Process process = new Process();                process.StartInfo.UseShellExecute = true;                process.StartInfo.FileName = this.ConverterPath;                process.StartInfo.Arguments = $"{optionSwitches} \"{htmlPath}\" \"{outputPath}\" ";                process.Start();            }            catch (Exception ex)            {                throw new Exception("轉(zhuǎn)PDF出錯(cuò)", ex);            }            return true;        }    }}
using System.Text;
namespace Fountain.WinConsole.ToPDFOrImageDemo{    internal class Program    {        static void Main(string[] args)        {            var ticks = DateTime.UtcNow.Ticks;            string outputpdf = $"{AppDomain.CurrentDomain.BaseDirectory}{ticks}.pdf";            string htmlPath = $"{AppDomain.CurrentDomain.BaseDirectory}test.html";            string convertPath= $"{AppDomain.CurrentDomain.BaseDirectory}wkhtmltopdf.exe";            ConverterPDF converter = new ConverterPDF(convertPath);            converter?.Convert(htmlPath, outputpdf);            Console.ReadKey();        }    }}

小結(jié)

以上是頁(yè)眉和頁(yè)腳參數(shù)選項(xiàng)內(nèi)容介紹,并通過(guò)以個(gè)示例,了解其實(shí)現(xiàn)自定義頁(yè)眉和頁(yè)腳內(nèi)容的方式。


該文章在 2024/11/18 9:05:00 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

中文字幕精品石码一区二区| 中文一区日韩在线观看| 日本拍一区二区| 久久蜜人人爽| 中文字幕老鸭窝最新| 啪啪啪一区二区啊啊啊| 国产无码福利精品视频| 亚洲国产系列久久精品99| 亚洲五月综合AV在线| 涩涩爱综合网| 天天色天天射天天综合网| 黄片又高潮在线观看| 亚洲成人视屏| 日韩在线国产高清蜜臀在线| 亚洲图片噜在线看| 亚洲国产日韩欧美强大| 亚洲不卡二区三区中文字幕| 欧美 日韩 国产 啄木鸟| 中文字幕人妻区一| 亚洲精品是图| 丝袜美腿 中文字幕 日韩一区 | 久久久久久久久综合色一本| 日韩欧美精品一区二区三区中文久久 | 下药 美女 白虎 大熊 白逼| 亚洲丝袜熟女麻豆| 亚洲视频天天射亚洲| 精品推荐三区| 亚洲国产3p| 爆乳丝袜人妻在线| 日韩无码7区| 色婷婷久综合久久| 五月久久婷婷国产香焦色| 涩爱AV涩爱AⅤ无码| 蜜臀麻豆av| 日本三级在线不卡一二三区| 日韩人妻高清不卡| 国产日韩一二三| av免费网国产| 国产乱91精品视频| √天堂亚洲| 色色一级成年片|