diff --git a/ts/export/packer/pdf-convert-wrapper.ts b/ts/export/packer/pdf-convert-wrapper.ts index 3fdc930d30..203786f6b3 100644 --- a/ts/export/packer/pdf-convert-wrapper.ts +++ b/ts/export/packer/pdf-convert-wrapper.ts @@ -1,5 +1,40 @@ +import * as fs from "fs"; import * as request from "request"; -export class PdfConvertWrapper { - +export interface IConvertOutput { + data: string; +} + +export class PdfConvertWrapper { + public convert(): Promise { + const buffer = fs.readFileSync("test.docx"); + + return new Promise((resolve, reject) => { + const r = request.post({ + url: "http://mirror1.convertonlinefree.com", + encoding: null, + headers: { + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36", + }, + }, (err, response, body: IConvertOutput) => { + if (err) { + reject(err); + return; + } + resolve(body); + }); + + const form = r.form(); + form.append("__EVENTTARGET", ""); + form.append("__EVENTARGUMENT", ""); + form.append("__VIEWSTATE", ""); + form.append("ctl00$MainContent$fu", buffer, { + filename: "output.docx", + contentType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + }); + + form.append("ctl00$MainContent$btnConvert", "Convert"); + form.append("ctl00$MainContent$fuZip", ""); + }); + } }