我正在尝试使用jsPDF将应用程序导出为PDF.在浏览网页后,在这里抓取一行代码,在那里找到一个部分 - 我已经设法让它工作...... 有点.
它适用于Firefox和Safari,但不适用于Chrome.
使用的JS文件(来自jsPDF).也许是矫枉过正.和Jquery一起.
<script type="text/javascript" src="PDF/standard_fonts_metrics.js"></script>
<script type="text/javascript" src="PDF/split_text_to_size.js"></script>
<script type="text/javascript" src="PDF/from_html.js"></script>
<script type="text/javascript" src="PDF/addhtml.js"></script>
<script type="text/javascript" src="PDF/addimage.js"></script>
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是这样的:
<script type="text/javascript">
function demoFromHTML() {
$('#listAreaPDF').css("display", "block");
var pdf = new jsPDF('p', 'pt', 'letter');
// source can be HTML-formatted string, or a reference
// to an actual DOM element from which the text will be scraped.
source = $('#listAreaPDF')[0];
pdf.setFontSize(24);
pdf.text(35, 40, "PDF Title here");
pdf.setFontSize(10);
pdf.text(500, 40, "Company Name AB");
// we support special element …Run Code Online (Sandbox Code Playgroud) 我正在使用jsPDF,它使用html2canvas从一些html元素生成图像并插入.pdf文件.但是html2canvas存在问题,它会从html生成模糊的图像.见下面的例子:
HTML内容:
html2canvas生成的图片:
有没有办法解决它或有没有更好的选项来获取图像形式的HTML?
谢谢!
是否可以在jsPDF中包含自定义字体?
使用基本库,如果我控制日志'doc.getFontList()',我得到:
Courier,Helvetica,Times,courier,helvetica,次
但是,说我想使用'Comic Sans'(不是我想; o))可以做到吗?
更好的是,我可以使用本地存储的字体,并已使用@ font-face在网站中声明?
我是Vue.js的新手,我正在尝试生成PDF,但我不知道该怎么做.
这就是我所拥有的:
import * as jsPDF from "jspdf"
export default {
props: ['id'],
methods: {
pdf () {
const doc = new jsPDF()
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
属性或方法"pdf"未在实例上定义,但在呈现期间引用
我目前正在研究一种学校管理软件,通常需要导出包含data tables和的html内容div tag.
我已经尝试了所有可能的方法来编写一个能够以良好的方式导出我的html数据的代码,最好使用css.在这里检查了一些问题和答案后,我尝试使用spdf,但没有运气.
它一直在破坏我的表格对齐,然后我读到了html2canvas但是要实现它jspdf是我的问题,我想捕获内容,如果div标签html2canvas然后发送画布以jspdf将画布导出为pdf.
这是我的代码如下:
<script src="assets/js/pdfconvert/jspdf.js"></script>
<script src="assets/js/pdfconvert/jspdf.plugin.from_html.js"></script>
<script src="assets/js/pdfconvert/jspdf.plugin.split_text_to_size.js"></script>
<script src="assets/js/pdfconvert/jspdf.plugin.standard_fonts_metrics.js"> </script>
<script src="assets/js/pdfconvert/jspdf.plugin.addhtml.js"></script>
<script src="assets/js/pdfconvert/filesaver.js"></script>
<script src="assets/js/pdfconvert/jspdf.plugin.cell.js"></script>
<script src="assets/js/pdfconvert/html2canvas.js"></script>
<script src="assets/js/pdfconvert/jspdf.plugin.addimage.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是js代码
var pdf = new jsPDF('p', 'pt', 'letter');
pdf.addHTML($('#ElementYouWantToConvertToPdf')[0], function () {
pdf.save('Test.pdf');
});
Run Code Online (Sandbox Code Playgroud) 我有一个组件(Angular 6),它是几个组件的集合.这会产生一个很长的HTML(我正在使用Bootstrap 4).现在我想将此HTML转换为PDF.我搜索了很多,发现了许多适用于jsPDF的解决方案.要求是在HTML中显示一个清晰的布局(以便用户可以选择,复制等).但我找到的解决方案或者尝试手动添加文本行,这在我的场景中是不可能的; 或者他们将HTML转换(栅格化?)到图像格式.另外,我想保留HTML的格式和字体以及样式.
我正在使用jsPdf.当一个字段留空时,"未定义"将打印在pdf上.我想用空字符串替换它.我试图使用if语句,但我没有得到它.
doc.text(30, 190, "Budget : $");
if ($scope.currentItem.JobOriginalBudget == "undefined") {
doc.text(50, 190, " ");
}
else {
var y = '' + $scope.currentItem.JobOriginalBudget;
doc.text(50, 190, y);
};
Run Code Online (Sandbox Code Playgroud) 我在使用jspdf将svg元素渲染为pdf时遇到了麻烦.我使用插件https://github.com/CBiX/svgToPdf.js/来做到这一点.
以下是我的代码
// I recommend to keep the svg visible as a preview
var tmp = document.getElementById("chartContainer");
var svgDoc = tmp.getElementsByTagName("svg")[0];
var pdf = new jsPDF('p', 'pt', 'a4');
svgElementToPdf(svgDoc, pdf, {
scale: 72 / 96, // this is the ratio of px to pt units
removeInvalid: false // this removes elements that could not be translated to pdf from the source svg
});
pdf.output('datauri'); // use output() to get the jsPDF buffer
Run Code Online (Sandbox Code Playgroud)
它正在生成空白pdf.请帮忙
我正在尝试对jsPDF库应用一些更改,以便能够证明文本的合理性.
我很难找到Tw(字间距)的正确值.
在jspdf.js(L:1413)中,我添加了以下代码:
if (align) {
...
else if (align === 'justify') {
left = x;
}
else {
throw new Error('Unrecognized alignment option, use "center" or "right".');
}
prevX = x;
text = '(' + da[0];
let pdfPageWidth = this.internal.pageSize.width;
let wordSpacing;
if( align === 'justify' ) {
let fontSize = this.internal.getFontSize();
let nWords = da[0].trim().split(/\s+/).length;
let textWidth = this.getStringUnitWidth(da[0].replace(/\s+/g, '')) / this.internal.scaleFactor;
wordSpacing = (Math.max(0, (pdfPageWidth - textWidth) / Math.max(1, nWords - …Run Code Online (Sandbox Code Playgroud) 我有一个脚本使用HTML2Canvas截取div页面内的a ,然后使用jsPDF将其转换为pdf.
问题是生成的pdf只有一页,在某些情况下屏幕截图需要多个页面.例如,屏幕截图大于8.5x11.宽度很好,但我需要它来创建多个页面以适应整个屏幕截图.
这是我的脚本:
var pdf = new jsPDF('portrait', 'pt', 'letter');
$('.export').click(function() {
pdf.addHTML($('.profile-expand')[0], function () {
pdf.save('bfc-schedule.pdf');
});
});
Run Code Online (Sandbox Code Playgroud)
有什么想法我可以修改它以允许多个页面?