我在pdfkit手册中读到pdf页面可以使用大小[宽度,高度]来调整大小.但是当我尝试以下代码时它不起作用
var PDFDocument = require('pdfkit');
var doc = new PDFDocument;
doc.size=[50,50];
doc.end()
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用pdfkit内部Flask应用程序从 html 页面创建 pdf,但是在使用pdfkit.
我试图举出最小的例子。我有这个文件结构
App
|_ static
| |- style.css
|_ templates
| |- base.html
|_ pdfs
| |- file.pdf
|_ application.py
Run Code Online (Sandbox Code Playgroud)
里面application.py:
import flask
import pdfkit
app = flask.Flask(__name__)
@app.route('/')
def index():
page = flask.render_template('base.html')
pdfkit.from_string(page, 'pdfs/file.pdf')
return page
@app.route('/download', methods=['POST'])
def download():
if flask.request.method == 'POST':
flask.send_from_directory(
directory='pdfs', filename='file.pdf', as_attachment=True)
else:
flask.redirect(flaks.url_for('index'))
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
样式表只是向 td 元素添加红色背景:
td {
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
最后是base.html:
<!DOCTYPE …Run Code Online (Sandbox Code Playgroud) 虽然我只是不需要通常问一些事情(互联网只是一个金矿,尤其是这个网站),但这让我失望,因为我已经花了两天时间试图让它工作,但我没有找到任何东西有用。如果找到类似帖子的链接,将不胜感激,因为我没有找到。让我们开始吧。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
* {
/* Box-model */
margin: 0;
padding: 0;
}
.wrapper {
/* Box-model */
width: 229mm;
height: 161mm;
}
</style>
</head>
<body>
{% for someone in people %}
<div class="wrapper">
<p><strong>{{ someone.complete_name }}</strong></p>
<p>{{ someone.bio }}</p>
</div>
{% endfor %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的 PDFKit 选项如下所示:
{
"page-width": "229mm",
"page-height": "162mm",
"paper-size": "CE5",
"encoding": "utf-8"
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我只是不添加任何边距或填充。我生成了 PDF,看起来很棒(毫不奇怪,一切都在它所属的地方)。但是,如果我在 …
我正在运行一个节点服务器,并且想要使用 PDFkit 将一些图标添加到动态创建的 PDF - 所以我安装了 fontawesomenpm install fontawesome并在创建 pdf 的 .js 文件中需要它var fa = require('fontawesome');
然后我尝试将图标与 PDFKit 一起使用:
doc.fontSize(40).fill('black').text(fa('bath'), 160, 80);
但是,我没有看到bath图标——只有两个乱七八糟的符号。
我需要做什么才能渲染 fa 图标?这是一个没有前端的服务器端脚本,使用 cron 运行,该 cron 会 ping Oracle 视图以获取动态信息,作为每日电子邮件的一部分。(所以,我没有使用任何 css 或 html 来创建文档)
感谢您的帮助!
我正在使用 Apple 的 PDFKit 开发一个应用程序,并设法放置了一些带有工作的注释按钮,PDFActionURL在点击它们后打开 iOS 标准浏览器。
不幸的是,我没有找到一个可行的解决方案,即如何在应用内浏览器中打开相关链接或在 web 视图中加载它。点击 AnnotationButton 后,PDFKit 会自动打开 Safari,我还没有找到有关 iOS 的属性或其他方式来通过操作 PDFAction 来影响此行为。
let urlString = "https://www.apple.com"
let urlAction = PDFActionURL(url: urlString)
urlButton.action = urlAction
pdfPage.addAnnotation(urlButton)
Run Code Online (Sandbox Code Playgroud)
有没有办法强制每次调用 In-App-BrowserUIApplication.shared.open()或操纵 a 的执行PDFAction?
以下是我的 Docker 代码:
FROM python:3.6.2-jessie
## Prepare apt-get:
RUN echo "debconf debconf/frontend select Noninteractive" | debconf-set-selections && \
apt-get update -qy && \
apt-get upgrade -qy && \
apt-get clean autoclean && \
apt-get install wkhtmltopdf -y && \
apt-get autoremove -y && \
apt-get install python3-setuptools -qy &&\
apt-get install python3-dev -qy && \
apt-get install python3-pip -qy && \
apt-get install build-essential -qy && \
apt-get -y install openssh-client -qy && \
apt-get clean
RUN pip3 install --upgrade …Run Code Online (Sandbox Code Playgroud) 我有一个函数可以返回一个 base64 编码的 PDF,我想使用 nodemailer 将其作为 PDF 附件文件发送。
关于nodemailer文档,我找到了这个例子:
const mailOptions = {
from: 'email1@gmail.com', // sender address
to: 'email2@gmail.com', // list of receivers
subject: 'Simulation', // Subject line
html: '<p>SALUT</p>', // plain text body
filename: 'file.pdf',
attachments: [
content: Buffer.from(
'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/' +
'//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U' +
'g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC',
'base64'
),
cid: 'note@example.com' // should be as unique as possible
},
Run Code Online (Sandbox Code Playgroud)
但是,这对我不起作用。我错过了什么吗?
我在 UIGraphicsPDFRendererFormat 中有高度为 400 的信息,我想在其中附加一个表格,但是如果表格大于页面,我需要自动创建新页面并继续使用其他页面中的表格。
我找到了有关将 UITableView 转换为 PDF 的答案,但我不使用 UITableView。
我将用数组填充表格:names:[String] , addresses:[String], money:[Double]
数组货币应在表格末尾自动求和。
那么如果内容更大,如何绘制并自动创建新页面?
我正在构建一个机器学习应用程序来读取 pdf 信息,为了训练我的算法,我需要获取 pdf 注释位置。有没有办法设置手势识别器并在单击时将注释添加到数组中?我成功地将注释添加到正则表达式的 pdf 中。但我需要添加注释及其相关信息(单击后在文档中的位置)我可以向应用程序添加手势识别器吗?我的应用程序使用 SwiftUI。
func makeNSView(context: NSViewRepresentableContext<PDFViewRepresentedView>) -> PDFViewRepresentedView.NSViewType {
let pdfView = PDFView()
let document = PDFDocument(url: url)
let regex = try! NSRegularExpression(pattern: #"[0-9.,]+(,|\.)\d\d"#, options: .caseInsensitive)
let string = document?.string!
let results = regex.matches(in: string!, options: .withoutAnchoringBounds, range: NSRange(0..<(string?.utf16.count)!))
let page = document?.page(at: 0)!
results.forEach { (result) in
let startIndex = result.range.location
let endIndex = result.range.location + result.range.length - 1
let selection = document?.selection(from: page!, atCharacterIndex: startIndex, to: page!, atCharacterIndex: endIndex)
print(selection!.bounds(for: page!))
let pdfAnnotation …Run Code Online (Sandbox Code Playgroud) 在我的rails应用程序中,我试图从html生成pdf并尝试使用pdfkit和wkhtmltopdf.我试图从最简单的代码开始,如:
kit = PDFKit.new("<p>This is some text.</p>")
pdf = kit.to_file "/home/user/test.pdf"
Run Code Online (Sandbox Code Playgroud)
但我最终得到以下错误:
uninitialized constant TestController::PDFKit
Run Code Online (Sandbox Code Playgroud)
TestController是我的控制器名称.仅供参考,我正在使用Fedora12和rails 2.2.
需要一些帮助.有人在吗?
pdfkit ×10
pdf ×4
node.js ×3
swift ×3
ios ×2
python ×2
attachment ×1
django ×1
flask ×1
ios11 ×1
nodemailer ×1
npm ×1
python-3.x ×1
swift5 ×1
swiftui ×1
wkhtmltopdf ×1