Мне нужно добавить опцию «Печать PDF» на мой сайт, но моя проблема в том, что я использую Ext.js, поэтому код моего сайта не в HTML. Я искал о том, как распечатать PDF-файл с веб-сайта, и я нахожу, как сделать это через HTML. Поэтому мне интересно, есть ли какая-либо библиотека или что-то для установки того, что я хочу напечатать вручную, вместо того, чтобы брать это из HTML-кода.
Вот так я определяю таблицу, которую хочу распечатать в файле PDF
const store = Ext.create('Ext.data.Store', {
storeId:'hotelsStore',
fields:['name', 'Best price', 'Price1', 'Price2', 'Price3'],
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
const grid = Ext.define('KitchenSink.view.grid.CellEditing', {
extend: 'Ext.grid.Panel',
xtype: 'cell-editing',
initComponent: function() {
Ext.apply(this, {
store: Ext.data.StoreManager.lookup('hotelsStore'),
columns: [
{
header: 'Name',
dataIndex: 'name',
width: 300
}, {
header: 'Best price',
dataIndex: 'bestPrice',
width: 105
},
{
header: 'Price1',
dataIndex: 'priceSite1',
width: 200
},
{
header: 'Price2',
dataIndex: 'priceSite2',
width: 200
},
{
header: 'Price3',
dataIndex: 'priceSite3',
width: 200
},
{
xtype: 'actioncolumn',
width: 30,
sortable: false,
menuDisabled: true,
id: 'delete-column',
items: [{
icon: '/assets/img/delete.png',
tooltip: 'Delete',
scope: this,
handler: this.onRemoveClick
}],
}],
dockedItems: [{
xtype: 'toolbar',
items: [{
text: 'Add',
scope: this,
handler: this.add
}, {
text: 'Print values',
scope: this,
hander: this.printValues
}, {
text: 'Logout',
scope: this,
handler: this.logout
}]
}],
});
this.callParent();
},
Значения, которые я хочу напечатать в PDF, находятся в этом массиве:
function fillData()
for(var i = 0; i<hotelNames.length; i++) {
dataArray.push({ 'name': names[i], 'bestPrice': results[i2], 'Price1':
results[i4], 'Price2': results[i5], 'Price3': results[i6]})
i2 = i2 + 4;
i3 = i3 + 4;
i4 = i4 + 4;
i5 = i5 + 4;
i6 = i6 + 4;
}
}
И, наконец, вот так я заполняю таблицу
fillData();
store.getProxy().data = dataArray;
store.load();
Как видите, у меня нет HTML-кода. Ext.js использует JavaScript, как бы мне этого добиться?
Заранее спасибо.