Я делаю веб -сайт на приборной панели, где у меня есть холст, имеющий круговую диаграмму, как на изображении ниже. Экспорт изображения холста с использованием библиотеки html-to-image и в качестве PDF с использованием jspdf библиотека с использованием следующего кода.
useEffect(() => {
if (pageSettings.callForDownload) {
const input = document.getElementById(
"GraphAreaToDownload"
) as HTMLElement;
const d = new Date();
const id = `${tabTileProps.selectedTabName}_${d.getDate()}${d.getMonth() + 1
}${d.getFullYear()}:${d.getHours()}${d.getMinutes()}${d.getSeconds()}`;
if (pageSettings.downloadType === "pdf") {
// exporting for pdf
html2canvas(input).then((canvas) => {
const imageData = canvas.toDataURL("image/png");
const pdf = new jsPDF(
pageSettings.SelectedOrientation,
"px",
pageSettings.selectedFormat
);
var width = pdf.internal.pageSize.getWidth();
var height = pdf.internal.pageSize.getHeight();
const heightAndWidth = getHeightAndWidth(height, width);
pdf.addImage(
imageData,
"JPEG",
pageSettings.left_margin,
pageSettings.top_margin,
heightAndWidth.width,
heightAndWidth.height
);
pdf.save(`${id}`);
resetPageSettings();
});
} else {
//exporting for image
toPng(input, { cacheBust: true })
.then((dataUrl: any) => {
const link = document.createElement("a");
link.download = `${id}`;
link.href = dataUrl;
link.click();
resetPageSettings();
})
.catch((err: any) => {
Logger("error", "", err);
});
}
}
}, [pageSettings.callForDownload]);
< /code>
Экспорт в качестве PDF работает нормально, тогда как круговая диаграмма обрезается в экспорте как изображение.
ниже представлены экспортируемые результаты. < /p>
Экспортируется как Изображение < /p>
Экспортируется как PDF < /p>
Я пытался возиться с прокладкой и краем, но изображение все еще было обрезанным. Я ожидаю, что экспорт как изображение покажет полную круговую диаграмму, похожую на экспорт как pdf.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ge-library
Изображение обрезается с использованием библиотеки HTML-to-Image ⇐ Javascript
Форум по Javascript
-
Anonymous
1739989106
Anonymous
Я делаю веб -сайт на приборной панели, где у меня есть холст, имеющий круговую диаграмму, как на изображении ниже. Экспорт изображения холста с использованием библиотеки [b] html-to-image [/b] и в качестве PDF с использованием [b] jspdf [/b] библиотека с использованием следующего кода.
useEffect(() => {
if (pageSettings.callForDownload) {
const input = document.getElementById(
"GraphAreaToDownload"
) as HTMLElement;
const d = new Date();
const id = `${tabTileProps.selectedTabName}_${d.getDate()}${d.getMonth() + 1
}${d.getFullYear()}:${d.getHours()}${d.getMinutes()}${d.getSeconds()}`;
if (pageSettings.downloadType === "pdf") {
// exporting for pdf
html2canvas(input).then((canvas) => {
const imageData = canvas.toDataURL("image/png");
const pdf = new jsPDF(
pageSettings.SelectedOrientation,
"px",
pageSettings.selectedFormat
);
var width = pdf.internal.pageSize.getWidth();
var height = pdf.internal.pageSize.getHeight();
const heightAndWidth = getHeightAndWidth(height, width);
pdf.addImage(
imageData,
"JPEG",
pageSettings.left_margin,
pageSettings.top_margin,
heightAndWidth.width,
heightAndWidth.height
);
pdf.save(`${id}`);
resetPageSettings();
});
} else {
//exporting for image
toPng(input, { cacheBust: true })
.then((dataUrl: any) => {
const link = document.createElement("a");
link.download = `${id}`;
link.href = dataUrl;
link.click();
resetPageSettings();
})
.catch((err: any) => {
Logger("error", "", err);
});
}
}
}, [pageSettings.callForDownload]);
< /code>
Экспорт в качестве PDF работает нормально, тогда как круговая диаграмма обрезается в экспорте как изображение.
ниже представлены экспортируемые результаты. < /p>
Экспортируется как Изображение < /p>
Экспортируется как PDF < /p>
Я пытался возиться с прокладкой и краем, но изображение все еще было обрезанным. Я ожидаю, что экспорт как изображение покажет полную круговую диаграмму, похожую на экспорт как pdf.
Подробнее здесь: [url]https://stackoverflow.com/questions/79452390/image-is-getting-cropped-using-html-to-image-library[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия