Примеры генерации HTML в PDF на языке Java

Если вы используете платформу JAVA и вам необходима конвертация HTML в PDF, вы можете использовать наш веб-сервис. Для этого вам не придется устанавливать или загружать какие-либо библиотеки или компоненты, достаточно реализовать простой API.
Это простой и удобный способ создания PDF версий документов для отчетов, счетов-фактур, накладных, электронных билетов и т.п. Можно создать нужную HTML-страницу и использовать ее в качестве источника для создания файла PDF или изображения.
Наш сервис может считывать любые веб-страницы в интернет по передаваемоогу адресу и динамически генерировать HTML в PDF или файлы изображений. Сервис может обрабатывать достаточно сложные документы и макеты, в том числе ссылки на изображения, инструкции JavaScript, CSS.

Преобразовываем HTML страницу в файл PDF на Java

package com.mypackage;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
 
public class Pdf4bAPI {
 
    /**
     * Запускаем через командную строку
     * Параметр 1: APIKey
     * Параметр 2: URL страницы или готовый HTML
     * Параметр 5: Имя результирующего файла
     * Параметр 4: Параметры конвертации в виде &extra1=value&extra2=value
     *
     */
 
    static String BaseURL="http://api.pdf4b.ru/pdf";
 
    public static void main(String[] args) {
        String API="";
        String Value="";
        String FileName="";
        String ExtraParams="";
        if(args.length>0) API=args[0];
        if(args.length>1) Value=args[1];
        if(args.length>2) FileName=args[2];
        if(args.length>3) ExtraParams=args[3];
        getFile(API,Value,FileName,ExtraParams);
    }
 
    private static void getFile(String APIKey,String value,String Filename,String ExtraParams){
        URL url;
        String Params="";
        try {
            if(ExtraParams!=null&&!"".equals(ExtraParams)){
                Params=ExtraParams;
                if(!Params.substring(0,1).equals("&")){
                    Params="&"+Params;
                }
            }
             
            value=URLEncoder.encode(value,java.nio.charset.StandardCharsets.UTF_8.toString() );
            value+=Params;
 
            //Проверяем основные параметры
            if(APIKey==null||"".equals(APIKey)) throw(new Exception("API key is empty"));
            if(Filename==null||"".equals(Filename)) throw(new Exception("Filename is empty"));
 
            //Формируем адрес запроса к API
            url = new URL(BaseURL+"?apikey="+APIKey+"&value="+value);
         
            //Получаем готовый файл
            URLConnection connection = url.openConnection();
            InputStream Instream = connection.getInputStream();
 
            //Сохраняем файл
            BufferedInputStream BISin = new BufferedInputStream(Instream);
            FileOutputStream FOSfile = new FileOutputStream(Filename);
            BufferedOutputStream out = new BufferedOutputStream(FOSfile);
             
            int i;
            while ((i = BISin.read()) != -1) {
                out.write(i);
            }
 
            //Очищаем вывод
            out.flush();
            out.close();
            System.out.println("File "+Filename+" created");
 
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
Поделитесь с коллегами:
 

Не тратьте свое время! Подключайтесь к API прямо сейчас!

Генерация ключа занимает меньше минуты. Ключ будет мгновенно выслан вам на почту.