При конвертации веб-страниц или фрагментов HTML прямо в PDF GrabzIt's Ruby API предоставляет следующие функции, которые помогают intEgrate GrabzIt intо вашей системе как можно проще. Однако, прежде чем начать, помните, что после вызова set_pdf_options метод save or save_to метод должен быть вызван, чтобы сделать снимок экрана PDF.
Захват PDF преобразует всю веб-страницу into PDF-документ потенциально много страниц. Для преобразования веб-страницы требуется только один параметр into документ PDF или конвертировать HTML в PDF как показано в приведенных ниже примерах.
grabzItClient.url_to_pdf("https://www.tesla.com") # Then call the save or save_to method
grabzItClient.html_to_pdf("<html><body><h1>Hello World!</h1></body></html>") # Then call the save or save_to method
grabzItClient.file_to_pdf("example.html") # Then call the save or save_to method
Вы можете передать пользовательский идентификатор PDF методами, как показано ниже, это значение затем возвращается в ваш обработчик GrabzIt Ruby. Например, этот пользовательский идентификатор может быть идентификатором базы данных, что позволяет связать снимок экрана с определенной записью базы данных.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.customId = "123456" grabzItClient.url_to_pdf("https://www.tesla.com", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.customId = "123456" grabzItClient.html_to_pdf("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.customId = "123456" grabzItClient.file_to_pdf("example.html", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
При создании снимка экрана в формате PDF вы можете запросить, чтобы вы шаблон в сгенерированный PDF. Этот шаблон должен быть saved заранее и определит содержимое верхнего и нижнего колонтитула вместе с любыми специальными переменными. В приведенном ниже примере кода пользователь использует свой шаблон под названием «мой шаблон».
Если для верхнего или нижнего колонтитула недостаточно велико верхнее или нижнее поле, оно не будет отображаться в PDF. В приведенном ниже примере мы установили верхнее и нижнее поля для 20, чтобы обеспечить достаточно места.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.marginTop = 20 options.marginBottom = 20 options.templateId = "my template" grabzItClient.url_to_pdf("https://www.tesla.com", options) # Then call the save or save_to method grabzItClient.save_to("result.pdf")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.marginTop = 20 options.marginBottom = 20 options.templateId = "my template" grabzItClient.html_to_pdf("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save or save_to method grabzItClient.save_to("result.pdf")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.marginTop = 20 options.marginBottom = 20 options.templateId = "my template" grabzItClient.file_to_pdf("example.html", options) # Then call the save or save_to method grabzItClient.save_to("result.pdf")
Если вы хотите просто конвертировать HTML-элемент, такой как div или span напрямую intДокумент PDF вы можете использовать с Ruby Gem от GrabzIt. Вы должны пройти CSS селектор элемента HTML, который вы хотите преобразовать в targetElement
метод.
... <span id="Article"> <p>This is the content I am interested in.</p> <img src="myimage.jpg"> </span> ...
В этом примере мы хотим захватить весь контент в диапазоне, который имеет идентификатор Article
поэтому мы передаем это GrabzIt, как показано ниже.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::PDFOptions.new() options.targetElement = "#Article" grabzItClient.url_to_pdf("http://www.bbc.co.uk/news", options) # Then call the save or save_to method grabzItClient.save_to("result.pdf")
Каким образом обрезается PDF при нацеливании на элемент HTML контролируется с помощью этих методов.