Если вы используете платформу 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();
}
}
}