Ferramentas para capturar e converter a Web

Como controlar o corte de conteúdo PDF?

Quando um elemento HTML é direcionado em uma conversão de PDF, o resultado é cortado para mostrar apenas o elemento HTML. No entanto, permanece a questão sobre o que fazer com o resto da página. A página inteira deve ser mostrada, com o elemento HTML direcionado no topo ou apenas o elemento HTML?

Por padrão, a página inteira é mostrada com o elemento HTML direcionado mostrado na parte superior da página. Conforme mostrado no exemplo à direita.

No entanto, às vezes é necessário gerar um PDF que mostre apenas o elemento HTML selecionado sem o resto da página. Um exemplo de como isso seria é mostrado à esquerda.

Para fazer isso você deve passar -1 nos parâmetros de largura e altura da página. Infelizmente, porém, esta abordagem é mais complicada porque antes de o PDF ser cortado, ele deve ser renderizado.

Portanto, se o tamanho da página padrão não for grande o suficiente para renderizar bem o elemento HTML, talvez seja necessário definir um tamanho e/ou orientação de página maior para garantir que ela seja renderizada corretamente conforme necessário. Por exemplo, experimente um tamanho de página A3 ou B3, etc. e talvez uma orientação paisagem.

Cortar automaticamente o tamanho da página para o destino HTML

Observe que o recurso de dimensionamento automático do tamanho da página funcionará quando um elemento HTML é direcionado.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.TargetElement = "#Article";
options.PageWidth = -1;
options.PageHeight = -1;
grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.mywebsite.com/Home/Handler");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
PDFOptions options = new PDFOptions();
options.setTargetElement("#Article");
options.setPageWidth(-1);
options.setPageHeight(-1);
grabzIt.URLToPDF("http://www.spacex.com", options);
grabzIt.Save("http://www.mywebsite.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").ConvertURL("http://www.spacex.com", 
{"format": "pdf", "download": 1, "target": "#Article", "height": -1, "width": -1}).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 = {"targetElement":"#Article","pageWidth":-1,"pageHeight":-1};
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->targetElement("#Article");
$options->pageWidth(-1);
$options->pageHeight(-1);
$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.mywebsite.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->setTargetElement("#Article");
$options->setPageWidth(-1);
$options->setPageHeight(-1);
$grabzIt->URLToPDF("http://www.spacex.com", $options);
$grabzIt->Save("http://www.mywebsite.com/handler.php");
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItPDFOptions.GrabzItPDFOptions()
options.targetElement = "#Article"
options.pageWidth = -1
options.pageHeight = -1
grabzIt.URLToPDF("http://www.spacex.com", options)
grabzIt.Save("http://www.mywebsite.com/handler.py")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=pdf&target=%23Article&height= -1&width=-1&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.targetElement = "#Article"
options.pageWidth = -1
options.pageHeigh = -1
grabzIt.url_to_pdf("http://www.spacex.com", options)
grabzIt.save("http://www.mywebsite.com/handler/index")