gpt4 book ai didi

javascript - jsPDF 将 html 转换为 pdf

转载 作者:行者123 更新时间:2023-11-30 08:41:30 25 4
gpt4 key购买 nike

我正在尝试将 HTML 转换为 PDF,我在 ASP.NET MVC5 中工作,这是我的代码:

    @model Ebok.Models.AtmClaimReportDetailsInfoViewModel

@{
ViewBag.Title = "Dzienny raport rozliczenia transakcji bankomatu "+Model.AtmPid+" sieci "+Model.CustomerNumber;
}
<div style="border-width: 2px; padding: 1em; font-size:120%;line-height: 1.5em;" id="fromHTMLtestdiv"> // `<-- THIS DIV NOT WORK`

<h3 class="text-align-center ">Dzienny raport rozliczenia transakcji bankomatu @Model.AtmPid sieci @Model.CustomerNumber</h3>

<div class="row">
<div class="text-align-center col-xs-5">

<div class="text-align-center padding-top-10">
@Model.CompanyNameString

<br />
NIP: @Model.Nip
</div>
</div>

<div class="text-align-center col-xs-5">
Rozliczenie bankomatu @Model.AtmPid sieci @Model.CustomerNumber
za dzień: @Model.BusinessDate.ToShortDateString() <br />
Wygenerowano dnia: @Model.CreationDate.ToShortDateString()
</div>

</div>


<table class="table table-bordered">
<thead>
<tr>
<th> Sieć</th>
<th> ATM</th>
<th> Adres</th>
<th> Kwota korekty (uznanie)</th>
<th> Kwota transakcji</th>
<th> Data i godzina transakcji</th>
</tr>
</thead>
<tbody>
@Html.Partial("ClaimReportsDetailsPartial")
</tbody>
</table>

<button onclick="javascript:demoFromHTML()" class="button">Run Code</button>

<div id="fromHTMLtestdiv"> // **THIS DIV WORK FINE**
<h1>
We support special element handlers. Register them with jQuery-style.
<a>asdsdsd</a>
</h1>
</div>
</div>

<div class="form-actions">
<button class="print-link btn btn-info" onclick="jQuery.print('#printClaimReport')"><i class="glyphicon glyphicon-print"></i></button>

<input type="button" value="Powrót" onclick="location.href='@Url.Action("Index")'" class="btn btn-info" />
</div>

@section Scripts {

<script type='text/javascript'>
function demoFromHTML() {
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 = $('#fromHTMLtestdiv')[0]

// we support special element handlers. Register them with jQuery-style
// ID selector for either ID or node name. ("#iAmID", "div", "span" etc.)
// There is no support for any other type of selectors
// (class, of compound) at this time.
, specialElementHandlers = {
// element with id of "bypass" - jQuery style selector
'#bypassme': function (element, renderer) {
// true = "handled elsewhere, bypass text extraction"
return true
}
}

margins = {
top: 80,
bottom: 60,
left: 40,
width: 522
};
// all coords and widths are in jsPDF instance's declared units
// 'inches' in this case
pdf.fromHTML(
source // HTML string or DOM elem ref.
, margins.left // x coord
, margins.top // y coord
, {
'width': margins.width // max width of content on PDF
, 'elementHandlers': specialElementHandlers
},
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
pdf.save('Test.pdf');
},
margins
)
pdf.output('dataurl');
}


</script>

}

当我使用第一个 div 时,我收到一条消息

TypeError: renderer.pdf.table is not a function

,但第二个 div 工作正常。

有人知道吗?

最佳答案

全部,我遇到了同样的问题,结果发现我缺少位于此处的 jspdf.plugin.cell.js 插件

https://github.com/MrRio/jsPDF/blob/master/jspdf.plugin.cell.js

希望对你有帮助

关于javascript - jsPDF 将 html 转换为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com