mirror of
https://github.com/alexadam/save-as-ebook.git
synced 2025-09-10 17:34:47 +00:00
misc changes - with force()
This commit is contained in:
parent
411eb0f86a
commit
b49b78ad88
2 changed files with 22 additions and 16 deletions
|
@ -45,6 +45,8 @@ var supportedCss = [
|
||||||
//////
|
//////
|
||||||
|
|
||||||
function getImageSrc(srcTxt) {
|
function getImageSrc(srcTxt) {
|
||||||
|
|
||||||
|
|
||||||
if (!srcTxt) {
|
if (!srcTxt) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -53,23 +55,26 @@ function getImageSrc(srcTxt) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO - convert <imgs> with svg sources to jpeg
|
// TODO move
|
||||||
|
srcTxt = srcTxt.replace(/&/g, '&')
|
||||||
|
|
||||||
// TODO https://preview.redd.it/oyj35v4jrri41.png?width=960&crop=smart&auto=webp&s=aa6dac5580038f489faa707093710f427ec83b20
|
// TODO - convert <imgs> with svg sources to jpeg OR add support for svg
|
||||||
|
|
||||||
var fileExtension = getFileExtension(srcTxt);
|
let fileExtension = getFileExtension(srcTxt);
|
||||||
if (fileExtension === '') {
|
if (fileExtension === '') {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
var newImgFileName = 'img-' + generateRandomNumber(true) + '.' + fileExtension;
|
let newImgFileName = 'img-' + generateRandomNumber(true) + '.' + fileExtension;
|
||||||
|
|
||||||
var isB64Img = isBase64Img(srcTxt);
|
let isB64Img = isBase64Img(srcTxt);
|
||||||
if (isB64Img) {
|
if (isB64Img) {
|
||||||
extractedImages.push({
|
extractedImages.push({
|
||||||
filename: newImgFileName, // TODO name
|
filename: newImgFileName, // TODO name
|
||||||
data: getBase64ImgData(srcTxt)
|
data: getBase64ImgData(srcTxt)
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
console.log("img url", fileExtension, getImgDownloadUrl(srcTxt));
|
||||||
|
|
||||||
allImages.push({
|
allImages.push({
|
||||||
originalUrl: getImgDownloadUrl(srcTxt),
|
originalUrl: getImgDownloadUrl(srcTxt),
|
||||||
filename: newImgFileName, // TODO name
|
filename: newImgFileName, // TODO name
|
||||||
|
@ -90,7 +95,7 @@ function extractMathMl($htmlObject) {
|
||||||
function extractCanvasToImg($htmlObject) {
|
function extractCanvasToImg($htmlObject) {
|
||||||
$htmlObject.find('canvas').each(function (index, elem) {
|
$htmlObject.find('canvas').each(function (index, elem) {
|
||||||
try {
|
try {
|
||||||
var imgUrl = docEl.toDataURL('image/jpeg');
|
let imgUrl = docEl.toDataURL('image/jpeg');
|
||||||
$(elem).replaceWith('<img src="' + imgUrl + '" alt=""></img>');
|
$(elem).replaceWith('<img src="' + imgUrl + '" alt=""></img>');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
|
@ -107,7 +112,7 @@ function extractSvgToImg($htmlObject) {
|
||||||
let newWidth = bbox.width
|
let newWidth = bbox.width
|
||||||
let newHeight = bbox.height
|
let newHeight = bbox.height
|
||||||
let svgXml = serializer.serializeToString(elem);
|
let svgXml = serializer.serializeToString(elem);
|
||||||
var imgSrc = 'data:image/svg+xml;base64,' + window.btoa(svgXml);
|
let imgSrc = 'data:image/svg+xml;base64,' + window.btoa(svgXml);
|
||||||
$(elem).replaceWith('<img src="' + imgSrc + '" width="'+newWidth+'" height="'+newHeight+'">' + '</img>');
|
$(elem).replaceWith('<img src="' + imgSrc + '" width="'+newWidth+'" height="'+newHeight+'">' + '</img>');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,18 +162,18 @@ function getImgDownloadUrl(imgSrc) {
|
||||||
return getAbsoluteUrl(imgSrc);
|
return getAbsoluteUrl(imgSrc);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAbsoluteUrl(urlStr) {
|
function getAbsoluteUrl(urlStr) {
|
||||||
if (!urlStr) {
|
if (!urlStr) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
if (urlStr.length === 0) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
if (urlStr.length === 0) {
|
urlStr = decodeHtmlEntity(urlStr);
|
||||||
return '';
|
let currentUrl = getCurrentUrl();
|
||||||
}
|
let originUrl = getOriginUrl();
|
||||||
urlStr = decodeHtmlEntity(urlStr);
|
let absoluteUrl = urlStr;
|
||||||
var currentUrl = getCurrentUrl();
|
|
||||||
var originUrl = getOriginUrl();
|
|
||||||
var absoluteUrl = urlStr;
|
|
||||||
|
|
||||||
originUrl = removeEndingSlash(originUrl)
|
originUrl = removeEndingSlash(originUrl)
|
||||||
currentUrl = removeEndingSlash(currentUrl)
|
currentUrl = removeEndingSlash(currentUrl)
|
||||||
|
@ -187,7 +187,8 @@ function getAbsoluteUrl(urlStr) {
|
||||||
} else if (urlStr.indexOf('http') !== 0) {
|
} else if (urlStr.indexOf('http') !== 0) {
|
||||||
absoluteUrl = currentUrl + '/' + urlStr;
|
absoluteUrl = currentUrl + '/' + urlStr;
|
||||||
}
|
}
|
||||||
absoluteUrl = escapeXMLChars(absoluteUrl);
|
// TODO is this needed?
|
||||||
|
// absoluteUrl = escapeXMLChars(absoluteUrl);
|
||||||
return absoluteUrl;
|
return absoluteUrl;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log('Error:', e);
|
console.log('Error:', e);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue