proppy
proppy

Reputation: 10504

HTML2PDF using Google Drive API

Is it possible to upload and convert an HTML file to PDF using Google Drive API without user interaction?

Upvotes: 11

Views: 11744

Answers (2)

David
David

Reputation: 1520

worked for me (Drive docs only...)

ByteArrayContent mediaContent = new ByteArrayContent("text/html", "HTML PAGE HERE".getBytes());

File body = new File();
body.setTitle("test.html");
body.setMimeType("text/html");

Insert request = null;
try
{
   request = service.files().insert(body, mediaContent);
   request.setConvert(true);
   File file = request.execute();

   HttpResponse resp = service.getRequestFactory().buildGetRequest(new    GenericUrl(file.getExportLinks().get("application/pdf"))).execute();

   OutputStream out = new FileOutputStream(getExternalFilesDir(null).getAbsolutePath() + "/test.pdf");
   byte[] buf = new byte[1024];
   int len;
   while ((len = resp.getContent().read(buf)) > 0)
    {
        out.write(buf, 0, len);
    }
    out.close();

}
catch (IOException e)
{
    e.printStackTrace();
}

Upvotes: 2

Ali Afshar
Ali Afshar

Reputation: 41633

Yes, it is, with two requests. You can import the file as a Google Docs, then export it to PDF. Using the Drive API.

https://developers.google.com/drive/v2/reference/files/insert https://developers.google.com/drive/v2/reference/files/get

Upvotes: 11

Related Questions