Outils pour capturer et convertir le Web

Comment ajouter des en-têtes et des pieds de page aux documents DOCX et PDF?

En-tête

Pour ajouter des en-têtes et/ou des pieds de page à des documents DOCX ou PDF, vous devez d'abord créer un modèle, avec un identifiant spécifié. Dans ce cas report. Le modèle peut inclure tout le texte, les images et les tableaux que vous souhaitez afficher, ainsi que des règles indiquant quand afficher les en-têtes et les pieds de page.

De plus, les modèles peuvent inclure des variables intégrées, telles que les numéros de page. Ou des variables de modèle personnalisées pouvant contenir n'importe quel texte brut. Il n'est pas possible de transmettre du HTML à l'aide de variables de modèle personnalisées, mais tous les caractères /n ou /r seront convertis en sauts de ligne.

Dans l'exemple ci-dessous, une variable personnalisée est utilisée dans le texte de l'en-tête. {number} est une variable personnalisée.

Report number: {number}

Vous pouvez ensuite transmettre cet identifiant de modèle à GrabzIt pour ajouter l'en-tête spécifié à n'importe quel document DOCX ou PDF. Dans les exemples ci-dessous, l'en-tête ci-dessus est affiché dans chaque document PDF généré, pour chaque langage de programmation que nous prenons en charge. Cependant, ce code peut être facilement adapté pour ajouter également des en-têtes et des pieds de page aux documents 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>

Pour spécifier plusieurs variables de modèle, séparez simplement chaque paire clé-valeur par un &.

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

N'oubliez pas que lorsque vous faites des demandes, assurez-vous all les valeurs des paramètres sont codées en URL. Notez que chaque nom et valeur POST devront également être codés en URL en premier. Pour spécifier plusieurs variables de modèle, séparez simplement chaque paire clé-valeur par un &, puis l'URL encode le tvars paramètre.

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

L'en-tête ou le pied de page n'apparaît pas dans le PDF

Lors de la génération de documents PDF, vous devez vous assurer qu'il y a suffisamment d'espace pour que votre en-tête ou pied de page apparaisse. Pour ce faire, spécifiez une marge supérieure suffisamment grande pour que l'en-tête apparaisse et une marge inférieure suffisamment grande pour qu'un pied de page apparaisse. Pour obtenir la bonne taille de marge, il faudra peut-être faire quelques essais et erreurs.