#reactjs #react-pdf
Вопрос:
async function saveBlob() {
const doc = <TableDocument/>;
const asPdf = pdf([]);
await asPdf.updateContainer(doc);
const blob = await asPdf.toBlob();
saveAs(blob, 'instructions.pdf');
}
return (
<IconButton
onClick={() => saveBlob()}>
</IconButton>
);
Вот как я пытаюсь создать свой pdf-документ, получив большой двоичный объект, а затем загрузив его. Я делаю все на стороне клиента только с помощью ReactJS.
В браузерах Chrome и Edge это занимает всего 3-4 секунды, но в IE это занимает около 30-40 секунд. Это 3-страничный pdf-документ с простой таблицей (для одной страницы IE занимает около 8-9 секунд).
И даже после использования асинхронного ожидания он блокирует пользовательский интерфейс. Любая помощь в сокращении времени создания PDF в IE будет высоко оценена.
Комментарии:
1. Вы использовали профилировщик инструментов разработки IE (если он есть), чтобы узнать, где он проводит свое время? Возможно, просто IE слишком медленно работает с библиотекой.
2. @AKX Я не очень хорошо использую профилировщик, но для одной страницы это занимает около 8-9 секунд, а для 3 страниц требуется 30-40 секунд для создания. Спасибо за быстрый ответ
3. Что ж, возможно, вы тоже захотите опубликовать некоторые результаты профилировщика здесь.
4. @SachinJagtap Вы решили эту проблему? Потому что я сталкиваюсь с той же проблемой
5. @deymbwoi Нет, я не смог найти решение, поэтому мы используем подход к созданию PDF на стороне сервера.