GemDocs to usługa umożliwiająca konwertowanie kodu HTML do formatu PDF. Aby stworzyć plik PDF potrzebny jest: kod html, który chcemy skonwertować oraz token uwierzytelniający zapytanie do serwera.

1. Jak uzyskać token?

Zaloguj się do strefy klienta, wybierz usługę GemDocs. Z menu po lewej stronie wybierz "Generuj nowy token". Twój token pojewi się w polu poniżej.

Raz wygenerowany token jest ważny przez rok

2. Jak skonwertować plik?

Poniższe przykłady kodu prezentują funkcje przekazujące kod html do serwera GemDocs i zwracające wynikowy plik PDF w zmiennej.
PHP
RUBY
PYTHON 2
PYTHON 3
JAVA
function get_pdf($gemdocs) { $token = '[token_gemdocs]'; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_POST => 1, CURLOPT_URL => 'https://gemdocs.pl/api/generate', CURLOPT_POSTFIELDS => array('html'=>$gemdocs), CURLOPT_HTTPHEADER => array('Authorization: Bearer '.$token), CURLOPT_RETURNTRANSFER => true )); $result = curl_exec($ch); curl_close($ch); return $result; }
class Gemdocs require 'uri' require 'net/http' require 'net/https' uri = URI.parse("https://gemdocs.pl/api/generate") headers = {'Authorization' =>'Bearer [token_gemdocs]'} html = "html=..." http = Net::HTTP.new(uri.host, uri.port) resp = http.post(uri.path, html, headers) puts resp.body end
import urllib import urllib2 code = '...' url = 'https://gemdocs.pl/api/generate' values = {'html': code} headers = { 'Authorization' : 'Bearer [token_gemdocs]' } data = urllib.urlencode(values) req = urllib2.Request(url, data, headers) response = urllib2.urlopen(req) the_page = response.read() print(the_page)
import urllib.parse import urllib.request document = '..' url = 'https://gemdocs.pl/api/generate' values = {'html' : document} headers = { 'Authorization' : 'Bearer [token_gembit]' } data = urllib.parse.urlencode(values) data = data.encode('utf-8') req = urllib.request.Request(url, data, headers) with urllib.request.urlopen(req) as response: the_page = response.read() print(the_page)
package gemdocs; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; public class GemDocs { public static void main(String[] args) throws Exception { String data = URLEncoder.encode("html", "UTF-8") + "=" + URLEncoder.encode("...", "UTF-8"); URL url = new URL("https://gemdocs.pl/api/generate"); URLConnection conn = url.openConnection(); conn.setDoOutput(true); conn.setRequestProperty( "Authorization", "Bearer [token_gembit]"); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write(data); wr.flush(); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = rd.readLine()) != null) { System.out.println(line); } wr.close(); rd.close(); } }

Kod HTML do serwera przekazujemy metodą POST, poprzez ustawienie parametru "html".

Następnie w nagłówku przesyłamy token. Nagłówek powinien nosić tytuł Authorization. Token powinien być poprzedzony ciągiem: Bearer

Authorization: Bearer [token]

Należy pamiętać o umieszczeniu spacji przed tokenem.

Rezultatem tego zapytania będzie plik PDF gotowy do pobrania lub wyświetlenia.

Copyright © 2015 Gembit