如何将下载的图像直接流式传输到hummusjs PDFPageModifier

时间:2019-07-18 14:01:19

标签: node.js image hummus.js

给出一个URL,我需要将其放入模板pdf文件中,然后直接将其流式传输到响应中。我的问题是,因为我使用hummus.PDFPageModifier,所以无法暂停上下文,因为无法获取页面对象

如果我将它第一次下载到本地存储,就可以解决此问题。但是,如果我愿意,我会避免。

下面是我的代码

res.writeHead(200, {'Content-Type': 'application/pdf'})
const targetPdf = new hummus.PDFStreamForResponse(res)
const sourcePdf = new hummus.PDFRStreamForFile("./sample.pdf")
const pdfWriter = hummus.createWriterToModify(sourcePdf, targetPdf)
const styleDesc = {
    font:pdfWriter.getFontForFile('./geoian.ttf'),
    size:20, colorspace:'black', color:0x00
}
const pageModifier = new hummus.PDFPageModifier(pdfWriter,0)
const ctx = pageModifier.startContext().getContext()

let url = "https://farm4.static.flickr.com/3224/3057246139_2317386c2f_o.jpg"
const data = await request.get({url, encoding:null})
const img_buf = new hummus.PDFRStreamForBuffer(data)

//pdfWriter.pausePageContentContext(pageModifier.getAssociatedPage())
const imageXObj = pdfWriter.createImageXObjectFromJPG(img_buf)
ctx.q().cm(500,0,0,400,0,0).doXObject(imageXObj).Q()

pageModifier.endContext().writePage()
pdfWriter.end()

res.end()

我的主要问题是pdfWriter.pausePageContentContext需要接收一个page对象,从这里到那里谷歌搜索,我仍然找不到它。

我该如何解决这个问题?

注意:请原谅使用pageModifier.getAssociatedPage(),我试图在github上浏览一些鹰嘴豆泥c ++代码,偶然发现了一种名为GetAssociatedPage的方法,但我不习惯阅读c ++,所以在那里我很迷路

0 个答案:

没有答案