Complete Ruby code examples for the PixDoc API
# Uses Ruby's built-in net/http librarySend HTML to the /api/v1/pdf endpoint and save the binary response.
require "net/http"
require "json"
require "uri"
uri = URI("https://pixdoc.dev/api/v1/pdf")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = { html: "<h1>Hello World</h1>" }.to_json
response = http.request(request)
File.write("output.pdf", response.body)The /api/v1/screenshot endpoint returns a PNG image.
require "net/http"
require "json"
require "uri"
uri = URI("https://pixdoc.dev/api/v1/screenshot")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = { html: "<h1>Hello World</h1>" }.to_json
response = http.request(request)
File.write("screenshot.png", response.body)Pass a template_id and variables instead of raw HTML.
require "net/http"
require "json"
require "uri"
uri = URI("https://pixdoc.dev/api/v1/pdf")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = {
template_id: "invoice",
variables: {
company: "Acme Corp",
total: "$1,250.00"
}
}.to_json
response = http.request(request)
File.write("invoice.pdf", response.body)