Инструменты для захвата и конвертирования Интернета

Захватывать скриншоты сайта или конвертировать HTML в изображенияRuby API

Создавайте более качественные снимки экрана с веб-страниц или конвертируйте HTML прямо в изображения, используя следующие функции: GrabzIt's Ruby API, Однако, прежде чем начать, помните, что после вызова url_to_image, html_to_image or file_to_image методы save or save_to метод должен быть вызван для создания изображения.

Основные параметры

Требуется только один параметр, чтобы сделать снимок экрана веб-страницы или конвертировать HTML intизображение как показано в следующем примере.

grabzItClient.url_to_image("https://www.tesla.com")
# Then call the save or save_to method
grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>")
# Then call the save or save_to method
grabzItClient.file_to_image("example.html")
# Then call the save or save_to method

Форматы изображений

Ruby API GrabzIt может делать снимки экрана в нескольких форматах, включая JPG, PNG, WEBP, BMP (бит 8, бит 16, бит 24 или бит 32) и TIFF. Формат по умолчанию для снимков экрана - JPG. Однако качество изображения JPG может быть недостаточно хорошим для некоторых приложений в этих условиях. Формат PNG рекомендуется для снимков экрана, поскольку он обеспечивает хороший баланс между качеством и размером файла. В приведенном ниже примере показан снимок экрана, снятый в формате PNG.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")

Размер браузера

Размер браузера относится к размеру окна браузера, которое будет использоваться при захвате скриншота, в большинстве случаев его не нужно устанавливать, так как размер браузера по умолчанию будет достаточным для всех большинства задач. Чтобы установить размер браузера, просто передайте значение browserWidth и browserHeight методы ImageOptions класса.

Изменить размер изображения

Изменить размер изображения легко, сделать это без искажения изображения немного сложнее. Чтобы упростить весь процесс, мы рекомендуем использовать это простой калькулятор размеров изображения.

Если вы хотите увеличить ширину и высоту изображения до размера, превышающего ширину и высоту браузера, которые по умолчанию равны 1024 на 728 пикселей, ширина и высота браузера также должны быть увеличены для соответствия.

Пользовательский идентификатор

Вы можете передать пользовательский идентификатор изображение методами, как показано ниже, это значение затем возвращается в ваш обработчик GrabzIt Ruby. Например, этот пользовательский идентификатор может быть идентификатором базы данных, что позволяет связать снимок экрана с определенной записью базы данных.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.customId = "123456"

grabzItClient.url_to_image("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::ImageOptions.new()
options.customId = "123456"

grabzItClient.html_to_image("<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::ImageOptions.new()
options.customId = "123456"

grabzItClient.file_to_image("example.html", options)
# Then call the save method
grabzItClient.save("http://www.example.com/handler/index")

Скриншот полной длины

GrabzIt позволяет вам сделать полный снимок экрана всей веб-страницы, для этого вам нужно передать -1 в browserHeight метод. Чтобы изображение соответствовало размеру браузера, передайте -1 height и width атрибутов.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")

Вы также можете вернуть миниатюры, которые не обрезаны, но будьте осторожны, это может создать большие изображения. Для этого передайте -1 height и / или width методы. Измерение, переданное как -1, не будет обрезано.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
Обратите внимание, что нет полной ширины браузера!

Использование этих специальных значений означает, что вы можете создать снимок экрана, представляющий собой полноразмерную версию всей веб-страницы, если хотите!

Сделайте скриншот элемента страницы

GrabzIt позволяет сделать снимок экрана с HTML-элемента, такого как div or span тег и захватить весь его контент. Для этого необходимо указать идентификатор или класс HTML-элемента, который вы хотите снимать с экрана, как CSS селектор.

...
<div id="features">
	<img src="http://www.example.com/rocket.jpg"/><h3>Rocket Launch Next Week</h3>
</div>
...

В приведенном ниже примере мы выберем div с идентификатором «features» и выведем его в виде изображения JPEG 250 x 250px.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

# The 250 parameters indicates that image should be sized to 250 x 250 px
options = GrabzIt::ImageOptions.new()
options.width = 250
options.height = 250
options.format = "jpg"
options.targetElement = "#features"

grabzItClient.url_to_image("http://www.bbc.co.uk/news", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")

В следующем примере делается еще один снимок экрана с разделом «features», но на этот раз выводится изображение JPEG, которое является точным размером элемента Div.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

# The -1 indicates that image should not be cropped
options = GrabzIt::ImageOptions.new()
options.width = 250
options.height = 250
options.format = "jpg"
options.targetElement = "#features"
options.browserHeight = -1

grabzItClient.url_to_image("http://www.bbc.co.uk/news", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")