PDFKit使用快递(节点)
我打算从用户输入后,从asp.net页面生成PDF文件。PDFKit使用快递(节点)
我现在使用的一种方法是允许用户运行浏览器来调用服务器来创建pdf。我为此选择了Node.js中的PDFKit和Express。我想找到C#等价物 - 但是asp.net核心无法引用我需要的外部库用法。我只能使用Nuget Package Manager来下载库,并且大多数预期的库在asp.net核心(尚未)中都不支持。
什么是目前正在
目前的PDF脚本的产生( 'pdf.js')工作。 即。
运行下面的命令生成的PDF
node pdf.js
pdf.js
var doc = new PDFDocument();
doc.pipe(fs.createWriteStream('out.pdf'));
doc.save()
.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300")
doc.end()
我需要什么
我打算从客户端浏览器调用节点脚本。 我目前使用客户端脚本(client.js)来调用pdf.js脚本。我现在改pdf.js脚本如下:
更新(pdf.js)
var express = require('express')
var PDFDocument = require('pdfkit');
var fs = require('fs');
var app = express()
app.post('/', function(req,res)
{
doc.pipe(fs.createWriteStream('out.pdf'));
doc.save()
.moveTo(100, 150)
.lineTo(100, 250)
.lineTo(200, 250)
.fill("#FF3300")
doc.end()
})
client.js
$('#some-button').click(function() {
$.ajax({
type: 'POST',
url: 'http://localhost:27724/js/pdf.js'
});
});
startClient.cshtml
<td>
<button id='some-button'>Test</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src='~/js/client.js'></script>
</td>
</td>
点击按照我的意图,cshtml上的“测试”按钮不会生成out.pdf。 我需要帮助。
1)设定明确的应用程序监听端口像
app.listen(27724, function() {
console.log('Example app listening on port 27724!');
});
2)你忘了
var doc = new PDFDocument();
3)运行
node pdf.js
4)设置正确的URL像
Ajax请求 谢谢。一般来说,这是行得通的。 :) –
将学习如何使用jquery + json通过express传递信息 –
在nuget.org上搜索'pdf netcore'返回在.NET Core上工作的PDF库。你的方法似乎非常复杂,容易出错。将来你会遇到很多麻烦。 – iPDFdev