我正在使用PDFKit和NodeJS动态生成PDF文档,我想将所述文档附加到电子邮件中.此刻我正在通过NPM使用Mandril-API.
我可以毫无问题地生成PDF并通过以下方式在浏览器中显示:
doc.pipe(res);
我可以毫无问题地发送电子邮件,但我在获取正确的PDF内容方面失败了.我相当肯定我99%的方式 - 但我错过了一些东西.我已经使用Google/StackOverflow等进行了大量的阅读和测试,但我陷入困境.
我得到的内容是,当我进行base64解码时,我得到:
%PDF-1.3%7 0 obj <</Predictor 15
我设法让我的PDF附件的有效大小为445KB,但这是电子邮件的内容:
--_ av-Ti-H6i8tBBHL4BgoXnyC2Q内容类型:application/pdf Content-Transfer-Encoding:base64 Content-Disposition:attachment; 文件名= "mytestPDF.pdf"
PDF1370obj/Predictor15/COLORS1/BitsPerComponent8/Columns100e ndobj60obj /类型/ x对象/亚型/图像/ BitsPerComponent8/WIDT H100/Height19 /过滤/ FlateDecode/DecodeParms70R/ColorSpace中/ I ndexed/DeviceRGB25580R/Length1751streamxdSSNEhGIRTRkWbY/nHaO MJln7t + vv89ylF111PlYNB9Nm6e9DENsd9FxLFUbOjrgt + ErRgWtj9vPCTBH oohMHl9oZ7IdpC/hxusjTHFFMcxhwIxPlbNorOB + bH8exrrA1DUnzKzq/UXI xT456nxtB59fQNiIrBT2apETJZieZvltpeThrObiZ4ydtY0koKJ2Epb940A1 iXyehONQVXiZr8jRP/NJ3bmjHA0sygAou4Q =
虽然我已经搞砸了几个小时,但我最好的预感是我的PDF内容中有换行/换行错误.我获取PDF内容的方法是创建一个名为buffers的数组,然后:doc.on('data',buffers.push.bind(buffers));
我想我需要添加/ n或/ r等...但我已经和NodeJS和AngularJS一起工作了一个月左右,而且我知道几乎所有我做错了是因为我结束了 - 使问题变得复杂......所以我向大家求助,并希望有一种简单的方法可以将我使用PDFKit创建的新PDF文档中的内容附加到使用NodeJS的电子邮件中.
提前谢谢你......请原谅我的漫无边际,但我大约8小时前开始这个(现在是我的时间凌晨3:25).:)
我正在使用GAS HTMLService设计一个Web应用程序并遇到了一个我无法克服的重大障碍 - 所以我希望能得到你们所有人的帮助.
我可以使用标准的doGet创建模板并正确显示HTML:
function doGet(e){
var ss = SpreadsheetApp.openById('SpreadSheetKey');
var usersheet = ss.getSheetByName('UserInfo');
var lastRow = usersheet.getLastRow();
var Userrange = usersheet.getRange(2, 1, lastRow-1, 4);
var Uservalues = Userrange.getValues();
var length = Uservalues.length;
var template = HtmlService.createTemplateFromFile('Form.html');
template.stuff = {};
template.stuff = Uservalues;
template.action = ScriptApp.getService().getUrl();
return template.evaluate();
}
Run Code Online (Sandbox Code Playgroud)
只要我从HTML文件中删除这段代码,HTML就会正常呈现:
$('#chkP').click(function(){
var email = '<?=email?>';
var usename = $('#myuserName').val();
for(var i=0;i<num;i++){
var name = '<?!=stuff[i][0]?>';
alert(name);
}
});
Run Code Online (Sandbox Code Playgroud)
该问题似乎与尝试使用'i'变量有关 - 我可以使用以下方法获取正确的信息:
'<?=stuff[2][0]?>' // THIS WORKS
<?=stuff[i][0]?> //THIS DOES NOT …
Run Code Online (Sandbox Code Playgroud)