捕獲和轉換Web的工具

如何向 DOCX 和 PDF 文檔添加頁眉和頁腳?

頭

要將頁眉和/或頁腳添加到 DOCX 或 PDF 文檔,您首先需要 創建一個模板,具有指定的標識符。 在這種情況下 report。 該模板可以包含您想要顯示的所有文本、圖像和表格,以及何時顯示頁眉和頁腳的規則。

標準模板變數

模板編輯器 有大量內建模板變數可供選擇,其中包括以下內容。

  • 頁碼
  • PDF 標題
  • 網址
  • 頁數
  • 每年
  • 每月
  • 小時
  • 分鐘
  • 其次

自訂模板變數

您也可以在模板中指定自訂模板變量,其中可以包含任何純文字。無法使用自訂模板變數傳遞 HTML,但是任何 /n 或 /r 字元都會轉換為換行符。

在下面的示例中,標題文本中使用了自定義變量,分別是 {number} 是一個自定義變量。

Report number: {number}

然後,您可以將此模板標識符傳遞給 GrabzIt,以將指定的標頭添加到任何 DOCX 或 PDF 文檔中。 在下面顯示的示例中,對於我們支持的每種編程語言,上述標題都顯示在每個生成的 PDF 文檔中。 然而,該代碼也可以輕鬆修改以將頁眉和頁腳添加到 DOCX 文檔中。

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.TemplateId = "report";
options.MarginTop = 50;
options.MarginBottom = 50;
options.AddTemplateParameter("number", "12345");

grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.example.com/Home/Index");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.setTemplateId("report");
options.setMarginTop(50);
options.setMarginBottom(50);
options.AddTemplateParameter("number", "12345");

grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.example.com/handler");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").AddTemplateVariable("number", "12345").ConvertURL("http://www.spacex.com", 
{"format": "pdf", 
"mtop":50, 
"mbottom":50, 
"templateid":"report"}).Create();
</script>

要指定多個模板變量,只需用一個分隔每個鍵值對 &.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"marginTop":50,"marginBottom":50,"templateId":"report",
"templateVariables":"number=12345"};

client.url_to_pdf("http://www.spacex.com", options);
client.save("http://www.example.com/handler", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItPDFOptions->new();
$options->marginTop(50);
$options->marginBottom(50);
$options->templateId("report");
$options->AddTemplateParameter("number","12345");

$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.example.com/handler.pl");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItPDFOptions();
$options->setMarginTop(50);
$options->setMarginBottom(50);
$options->setTemplateId("report");
$options->AddTemplateParameter("number","12345");

$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.example.com/handler.php");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItPDFOptions.GrabzItPDFOptions()
options.marginTop = 50
options.marginBottom = 50
options.templateId = "report"
options.AddTemplateParameter("number","12345")

grabzIt.URLToPDF("http://www.spacex.com", options)
grabzIt.Save("http://www.example.com/handler.py")

請記住,提出請求時請確保 全部 參數值是 URL 編碼的。 請注意,每個 POST 名稱和值也必須首先進行 URL 編碼。 要指定多個模板變量,只需用一個分隔每個鍵值對 &,然後 URL 編碼 tvars 參數。

https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=pdf&tvars=number%3D12345&mtop=50&mbottom=50&templateid=report&url=https%3A%2F%2Fspacex.com%2F
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::PDFOptions.new()
options.marginTop = 50
options.marginBottom = 50
options.templateId = "report"
options.add_template_parameter("number","12345")

grabzIt.url_to_pdf("http://www.spacex.com", options)
grabzItClient.save("http://www.example.com/handler/index")

頁眉或頁腳未出現在 PDF 中

生成 PDF 文檔時,您必須確保有足夠的空間來顯示頁眉或頁腳。 為此,請指定足夠大的上邊距以顯示頁眉,並指定足夠大的下邊距以顯示頁腳。 要獲得正確的邊距大小可能需要一些嘗試和錯誤。