Tools om het web vast te leggen en te converteren

Maak website-screenshots of converteer HTML naar afbeeldingenRuby API

Maak betere afbeeldingschermafbeeldingen van webpagina's of converteer HTML rechtstreeks naar afbeeldingen met behulp van de volgende functies van GrabzIt's Ruby API. Onthoud echter voordat u begint dat nadat u de url_to_image, html_to_image or file_to_image methoden de save or save_to methode moet worden aangeroepen om de afbeelding te maken.

Basisopties

Er is slechts één parameter vereist om een ​​screenshot te maken van een webpagina of HTML omzetten inteen afbeelding zoals getoond in het volgende voorbeeld.

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

Image Formaten

De Ruby API van GrabzIt kan afbeeldingen in verschillende formaten maken, waaronder JPG, PNG, WEBP, BMP (8 bit, 16 bit, 24 bit of 32 bit) en TIFF. Het standaardformaat voor schermafbeeldingen van afbeeldingen is JPG. In sommige omstandigheden is de kwaliteit van een JPG-afbeelding echter niet goed genoeg voor sommige toepassingen. Het PNG-formaat wordt aanbevolen voor schermafbeeldingen van afbeeldingen, omdat het een goede balans biedt tussen kwaliteit en bestandsgrootte. In het onderstaande voorbeeld wordt een screenshot van een afbeelding gemaakt met het PNG-formaat.

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

Browsergrootte

De browsergrootte verwijst naar de grootte van het browservenster die wordt gebruikt bij het maken van de schermafbeelding. In de meeste gevallen hoeft dit niet te worden ingesteld, omdat de standaardbrowser voldoende is voor bijna alle taken. Om de browsergrootte in te stellen, geeft u gewoon een waarde aan de browserWidth en browserHeight methoden van de ImageOptions klasse.

Wijzig afbeeldingsgrootte

Het wijzigen van de grootte van een afbeelding is eenvoudig, het is een beetje moeilijker zonder de afbeelding te vervormen. Om het hele proces eenvoudiger te maken, raden we u aan dit te gebruiken eenvoudige beeldafmetingscalculator.

Als u de breedte en hoogte van de afbeelding wilt vergroten tot een grootte die groter is dan de breedte en hoogte van de browser, die standaard 1024 bij 728 pixels is, moeten de breedte en hoogte van de browser ook worden aangepast om overeen te komen.

Aangepaste identificatie

U kunt een aangepaste identificatie doorgeven aan de beeld methoden zoals hieronder weergegeven, wordt deze waarde vervolgens teruggegeven aan uw GrabzIt Ruby-handler. Deze aangepaste identificatie kan bijvoorbeeld een database-identificatie zijn, waardoor een screenshot kan worden gekoppeld aan een bepaald database-record.

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

Screenshot op volledige lengte

Met GrabzIt kunt u een volledige screenshot maken van een hele webpagina om dit te doen moet u een -1 doorgeven aan de browserHeight methode. Om ervoor te zorgen dat de afbeelding overeenkomt met de grootte van de browser, geeft u dit een -1 door aan de height en width attributen.

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

U kunt ook miniaturen retourneren die niet zijn bijgesneden, maar let op dit kan grote afbeeldingen maken. Geef hiervoor een -1 door aan de height en / of width methoden. De dimensie die wordt doorgegeven als een -1 wordt niet bijgesneden.

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")
Let op: er is geen browserbreedte over de volledige lengte!

Als u deze speciale waarden gebruikt, kunt u desgewenst een screenshot maken van een volledige versie van de hele webpagina.

Maak een screenshot van een pagina-element

Met GrabzIt kunt u een screenshot maken van een HTML-element, zoals een div or span tag en leg alle inhoud vast. Om dit te doen moet de id of klasse van het HTML-element dat u wilt screenshot als een worden opgegeven CSS-selector.

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

Voor het onderstaande voorbeeld selecteren we de div met de id "features" en voeren deze uit als een 250 x 250px JPEG-afbeelding.

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

In het volgende voorbeeld wordt nog een screenshot gemaakt van de div "features", maar deze keer wordt een JPEG-afbeelding met de exacte grootte van de div uitgevoerd.

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