PDFKit 使用 express(节点)
PDFKit using express (Node)
我打算在收到用户的输入后从 asp.net 页面生成 PDF 文件。
我现在使用的一种方法是允许用户运行浏览器调用服务器来创建 pdf。为此,我在 Node.js 中选择了 PDFKit 和 Express。我想找到 C# 等效项 - 但是 asp.net 核心无法引用我使用所需的外部库。我只能使用 Nuget 包管理器来下载库,并且 asp.net 核心(还)不支持大多数预期的库。
当前的工作
目前正在生成 pdf 脚本 ('pdf.js')。
IE。
运行 以下命令生成 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 上的按钮 "Test" 不会按我的预期生成 out.pdf。
我在这里需要帮助。
1) 像
一样设置 express 应用监听端口
app.listen(27724, function () {
console.log('Example app listening on port 27724!');
});
2) 你忘记了
var doc = new PDFDocument();
3) 运行
node pdf.js
4) 将正确的 url 设置为 ajax 请求,如
$('#some-button').click(function() {
$.ajax({
type: 'POST',
url: 'http://localhost:27724'
});
});
我打算在收到用户的输入后从 asp.net 页面生成 PDF 文件。
我现在使用的一种方法是允许用户运行浏览器调用服务器来创建 pdf。为此,我在 Node.js 中选择了 PDFKit 和 Express。我想找到 C# 等效项 - 但是 asp.net 核心无法引用我使用所需的外部库。我只能使用 Nuget 包管理器来下载库,并且 asp.net 核心(还)不支持大多数预期的库。
当前的工作
目前正在生成 pdf 脚本 ('pdf.js')。 IE。
运行 以下命令生成 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 上的按钮 "Test" 不会按我的预期生成 out.pdf。 我在这里需要帮助。
1) 像
一样设置 express 应用监听端口app.listen(27724, function () {
console.log('Example app listening on port 27724!');
});
2) 你忘记了
var doc = new PDFDocument();
3) 运行
node pdf.js
4) 将正确的 url 设置为 ajax 请求,如
$('#some-button').click(function() {
$.ajax({
type: 'POST',
url: 'http://localhost:27724'
});
});