我正在使用 PDFKit 和 NodeJS 动态生成 PDF 文档,并且我想将所述文档附加到电子邮件中。目前我正在通过 NPM 使用 Mandril-API。
我可以毫无问题地生成 PDF 并通过以下方式在浏览器中显示它:
doc.pipe( res );
我可以毫无问题地发送电子邮件,但我在获取正确的 PDF 内容方面失败了。我相当肯定我已经完成了 99% 的工作——但我错过了一些东西。我已经使用 Google/StackOverflow 等进行了大量阅读和测试,但我被卡住了。
我得到的内容是,当我进行 base64 解码时,我得到:
%PDF-1.3 % 7 0 obj << /预测器 15
我设法让我的 PDF 附件具有 445KB 的有效大小,但这是电子邮件的内容:
--_av-Ti-H6i8tBBHL4BgoXnyC2Q 内容类型:application/pdf 内容传输编码:base64 内容处置:附件;文件名="mytestPDF.pdf"
PDF1370obj/Predictor15/Colors1/BitsPerComponent8/Columns100e ndobj60obj/Type/XObject/Subtype/Image/BitsPerComponent8/Widt h100/Height19/Filter/FlateDecode/DecodeParms70R/ColorSpace/I ndexed/DeviceRGB25580R/Length1751streamxdSSNEhGIRTRkWbY/nHaO MJln7t+vv89ylF111PlYNB9Nm6e9DENsd9FxLFUbOjrgt+ErRgWtj9vPCTBH oohMHl9oZ7IdpC/hxusjTHFFMcxhwIxPlbNorOB +bH8exrrA1DUnzKzq/UXI xT456nxtB59fQNiIrBT2apETJZieZvltpeThrObiZ4ydtY0koKJ2Epb940A1 iXyehONQVXiZr8jRP/NJ3bmjHA0sygAou4Q=
尽管我已经为此搞砸了几个小时,但我最好的预感是我的 PDF 内容中有换行符/换行符错误。我获取 PDF 内容的方法是创建一个名为缓冲区的数组,然后: doc.on('data', buffers.push.bind(buffers));
我假设我需要添加 /n 或 /r 等......但我已经使用 NodeJS 和 AngularJS 工作了一个月左右,我知道我做错的几乎所有事情都是因为我过度 -使事情复杂化......所以我求助于你们,希望有一种简单的方法可以将我用 PDFKit 创建的新 PDFDocument 中的内容附加到使用 NodeJS 的电子邮件中。
提前谢谢你......请原谅我的漫无边际,但我大约是 8 小时前开始的(现在是凌晨 3 点 25 分)。:)