Предварительный просмотр книги с помощью JavaScript через C++
Предварительный просмотр печати
В некоторых случаях необходимо конвертировать Excel-файлы с миллионами страниц в PDF или изображения. Обработка таких файлов занимает много времени и ресурсов. В таких случаях функция предварительного просмотра печати книги и листа может оказаться полезной. Перед конвертацией таких файлов пользователь может проверить общее количество страниц и принять решение о необходимости конвертации. В этой статье рассматривается использование классов WorkbookPrintingPreview и SheetPrintingPreview для определения общего количества страниц.
Aspose.Cells предоставляет функцию предварительного просмотра печати. Для этого API предоставляет классы WorkbookPrintingPreview и SheetPrintingPreview. Чтобы создать предварительный просмотр всей книги, создайте экземпляр класса WorkbookPrintingPreview, передав в конструктор объекты Workbook и ImageOrPrintOptions. Класс WorkbookPrintingPreview предоставляет метод evaluatedPageCount, который возвращает количество страниц в сгенерированном предварительном просмотре. Аналогично классу WorkbookPrintingPreview, класс SheetPrintingPreview используется для создания предварительного просмотра печати для определенного листа. Для этого создайте экземпляр класса SheetPrintingPreview, передав в конструктор Worksheet и ImageOrPrintOptions. Класс SheetPrintingPreview также предоставляет метод evaluatedPageCount, возвращающий количество страниц в предварительном просмотре.
Следующий фрагмент кода демонстрирует использование классов WorkbookPrintingPreview и SheetPrintingPreview на примере пример Excel-файла.
Образец кода
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Printing Preview</title>
</head>
<body>
<h1>Printing Preview Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, ImageOrPrintOptions, WorkbookPrintingPreview, SheetPrintingPreview } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Creating image/print options
const imgOptions = new ImageOrPrintOptions();
// Workbook printing preview
const preview = new WorkbookPrintingPreview(workbook, imgOptions);
const workbookPageCount = preview.evaluatedPageCount;
console.log("Workbook page count: " + workbookPageCount);
// Worksheet printing preview for first worksheet
const preview2 = new SheetPrintingPreview(workbook.worksheets.get(0), imgOptions);
const worksheetPageCount = preview2.evaluatedPageCount;
console.log("Worksheet page count: " + worksheetPageCount);
document.getElementById('result').innerHTML = `<p>Workbook page count: ${workbookPageCount}</p><p>Worksheet page count: ${worksheetPageCount}</p>`;
});
</script>
</html>
Следующим выводом является результат выполнения вышеприведенного кода.
Вывод в консоль
Workbook page count: 1
Worksheet page count: 1
Продвинутые темы
- Настройка шрифтов для отображения электронных таблиц
- Преобразование рабочего листа в изображение - Удаление пустого места вокруг данных
- Преобразование Рабочего листа в изображение и Рабочего листа в изображение по странице
- Преобразование рабочего листа в изображение с использованием параметров ImageOrPrint
- Экспорт диапазона ячеек листа в изображение
- Экспорт листа или диаграммы в изображение с заданными шириной и высотой
- Извлечение изображений из листов с использованием параметров ImageOrPrintOptions
- Генерация миниатюры листа
- Вывод пустой страницы, когда нечего печатать
- Настройки страницы и опции печати
- Отобразить последовательность страниц с использованием свойств PageIndex и PageCount класса ImageOrPrintOptions
- Отобразить Рабочий лист на графический контекст
- Указание индивидуального или частного набора шрифтов для рендеринга книги