Ferramentas para capturar e converter a Web

Como adicionar cabeçalhos e rodapés aos documentos DOCX e PDF?

cabeçalho

Para adicionar cabeçalhos e/ou rodapés a documentos DOCX ou PDF, primeiro você precisa criar um modelo, com um identificador especificado. Nesse caso report. O modelo pode incluir todo o texto, imagens e tabelas que você deseja exibir, juntamente com regras sobre quando mostrar cabeçalhos e rodapés.

Variáveis ​​de modelo padrão

A editor de modelos tem uma grande seleção de variáveis ​​de modelo integradas, incluindo as seguintes.

  • Número de página
  • Título do PDF
  • URL
  • Número de páginas
  • Ano
  • Mês
  • Dia
  • hora
  • Minuto
  • Segundo

Variáveis ​​de modelo personalizado

Você também pode especificar variáveis ​​de modelo personalizadas em seu modelo que podem conter qualquer texto simples. Não é possível passar HTML usando variáveis ​​de modelo personalizadas, porém quaisquer caracteres /n ou /r serão convertidos em quebras de linha.

No exemplo abaixo, uma variável personalizada está sendo usada no texto do cabeçalho, onde {number} é uma variável personalizada.

Report number: {number}

Você pode então passar esse identificador de modelo para GrabzIt para adicionar o cabeçalho especificado a qualquer documento DOCX ou PDF. Nos exemplos mostrados abaixo, o cabeçalho acima é exibido em cada documento PDF gerado, para cada linguagem de programação que suportamos. No entanto, esse código pode ser facilmente adaptado para adicionar cabeçalhos e rodapés também a documentos 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>

Para especificar múltiplas variáveis ​​de modelo, basta separar cada par de valores-chave com um &.

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")

Lembre-se de que ao fazer solicitações, certifique-se todos os os valores dos parâmetros são codificados em URL. Observe que cada nome e valor POST também deverá ser codificado em URL primeiro. Para especificar múltiplas variáveis ​​de modelo, basta separar cada par de valores-chave com um &, então o URL codifica o tvars parâmetro.

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")

O cabeçalho ou rodapé não aparece no PDF

Ao gerar documentos PDF você deve garantir que haja espaço suficiente para que seu cabeçalho ou rodapé apareça. Para fazer isso, especifique uma margem superior grande o suficiente para que o cabeçalho apareça e uma margem inferior grande o suficiente para que o rodapé apareça. Obter o tamanho da margem correto pode exigir algumas tentativas e erros.