Javascript 数据表PDF导出不完整
我有一个简单的html表格。分页已关闭,因此页面上显示大约50行。excel导出非常有效。PDF导出仅显示1页,约占内容的三分之一。是否有导出所有行的简单方法?即使分页设置为true,导出仍然不完整。在做了一些研究之后,我所拥有的应该是有效的。我就是不明白为什么它失败了,只导出了一页Javascript 数据表PDF导出不完整,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个简单的html表格。分页已关闭,因此页面上显示大约50行。excel导出非常有效。PDF导出仅显示1页,约占内容的三分之一。是否有导出所有行的简单方法?即使分页设置为true,导出仍然不完整。在做了一些研究之后,我所拥有的应该是有效的。我就是不明白为什么它失败了,只导出了一页 <script> $(document).ready(function() { $('#summary_table').DataTable( { dom: 'Bfrtip', butt
<script>
$(document).ready(function() {
$('#summary_table').DataTable( {
dom: 'Bfrtip',
buttons: [
'excelHtml5',
{
extend: 'pdfHtml5',
orientation: 'landscape',
pageSize:'LEGAL'
}
],
paging:false
} );
} );
</script>
$(文档).ready(函数(){
$('汇总表')。数据表({
dom:'Bfrtip',
按钮:[
“卓越HTML5”,
{
扩展:“pdfHtml5”,
定位:'景观',
页面大小:'LEGAL'
}
],
分页:false
} );
} );
html具有这种结构
<table class="display">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
.
.
.
</table>
.
.
.
导出前设置页面设置
protected void btnSubmit_Click(object sender, EventArgs e)
{
WebClient wc = new WebClient();
string url = Request.Url.AbsoluteUri;
string fileContent = wc.DownloadString(url);
List<string> tableContents = GetContents(fileContent, table_pattern);
string HTMLString = String.Join(" ", tableContents.ToArray());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
pdfDoc.Add(new Paragraph("Welcome to dotnetfox"));
List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(HTMLString), null);
for (int k = 0; k < htmlarraylist.Count; k++)
{
pdfDoc.Add((IElement)htmlarraylist[k]);
}
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;" +
"filename=sample.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
protectedvoid btnSubmit\u单击(对象发送方,事件参数e)
{
WebClient wc=新的WebClient();
字符串url=Request.url.AbsoluteUri;
string fileContent=wc.DownloadString(url);
List tableContents=GetContents(fileContent,table_模式);
字符串HTMLString=string.Join(“,tableContents.ToArray());
文档pdfDoc=新文档(PageSize.A4、10f、10f、10f、0f);
GetInstance(pdfDoc,Response.OutputStream);
pdfDoc.Open();
pdfDoc.Add(新段落(“欢迎使用dotnetfox”);
List htmlaraylist=HTMLWorker.parsetList(新的StringReader(HTMLString),null);
for(int k=0;k
我不知道您包含的js和css。你可以试试这个。这是一个
别忘了包括这些文件
//cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/pdfmake.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/vfs_font.js
//cdn.datatables.net/buttons/1.4.0/js/buttons.html5.min.js
datatables站点有以下pdfmake CDN示例
<script src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/pdfmake.min.js"></script>
<script src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/vfs_fonts.js"></script>
我从代码中删除了上述内容,并通过cdnjs将其替换为0.1.32版本。PDF按钮产生了一个完整的所有网页现在导出
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
确认,所有这些。我几乎要放弃这个了。也许问题出在我的浏览器版本上。我将不得不与Excel一起工作。
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>