Если вы используете платформу JAVA и вам необходима конвертация HTML в PDF, вы можете использовать наш веб-сервис. Для этого вам не придется устанавливать или загружать какие-либо библиотеки или компоненты, достаточно реализовать простой API.
Это простой и удобный способ создания PDF версий документов для отчетов, счетов-фактур, накладных, электронных билетов и т.п. Можно создать нужную HTML-страницу и использовать ее в качестве источника для создания файла PDF или изображения.
Наш сервис может считывать любые веб-страницы в интернет по передаваемоогу адресу и динамически генерировать HTML в PDF или файлы изображений. Сервис может обрабатывать достаточно сложные документы и макеты, в том числе ссылки на изображения, инструкции JavaScript, CSS.
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"));
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();
}
}
}