基于宽度的文本缩放
Text Scaling based on width
我使用在线转换器将 PDF 转换为 HTML。这是一个示例结果:
http://www.ww2incolor.com/500px/e8efe9ed-37d4-45c4-bd12-178d9bac0947/e8efe9ed-37d4-45c4-bd12-178d9bac0947.html
它做得很好,但是是否可以将其缩放到 100% 宽度以使其适合移动设备?
将图像缩放到 100% 宽度非常容易,但文本似乎根本不想缩放。我研究过字体缩放,但这弄乱了重要文本的位置。本质上,图像和文本都需要同步缩放。
transform: scale(X) 做我想让它做的事,但 PDF 的宽度可以改变,所以这不是一个好的解决方案,除非你可以让它动态化。有人知道这是否可能吗?
可能与 PDF 容器中的 ONRESIZE 事件有关:
<div id="PDFbox" onresize="DoScale();"></div>
function DoScale(){
// Get your new container dimensions...
var W=PDFbox.outerWidth;
var H=PDFbox.outerHeight;
// and then based on whatever logic you prefer, dynamically scale
whatever is neccessary...
AnotherID.style.transform='scale(2,2)';
}
希望我理解你的意思。
可以使用js来缩放页面,像这样:
var page = document.querySelector('#pf1');
var getRatio = function(elem){
return document.body.offsetWidth / elem.offsetWidth;
};
page.style.transformOrigin = 'center top';
var applyZoom = function(){
page.style.transform = 'scale(' + getRatio(page) + ')';
}
在文档就绪、调整大小和方向更改事件时调用此方法:
document.addEventListener('DOMContentLoaded', () => applyZoom());
window.addEventListener('resize', () => applyZoom());
window.addEventListener('orientationchange', () => applyZoom()); // probably not needed
我使用在线转换器将 PDF 转换为 HTML。这是一个示例结果: http://www.ww2incolor.com/500px/e8efe9ed-37d4-45c4-bd12-178d9bac0947/e8efe9ed-37d4-45c4-bd12-178d9bac0947.html
它做得很好,但是是否可以将其缩放到 100% 宽度以使其适合移动设备? 将图像缩放到 100% 宽度非常容易,但文本似乎根本不想缩放。我研究过字体缩放,但这弄乱了重要文本的位置。本质上,图像和文本都需要同步缩放。 transform: scale(X) 做我想让它做的事,但 PDF 的宽度可以改变,所以这不是一个好的解决方案,除非你可以让它动态化。有人知道这是否可能吗?
可能与 PDF 容器中的 ONRESIZE 事件有关:
<div id="PDFbox" onresize="DoScale();"></div>
function DoScale(){
// Get your new container dimensions...
var W=PDFbox.outerWidth;
var H=PDFbox.outerHeight;
// and then based on whatever logic you prefer, dynamically scale
whatever is neccessary...
AnotherID.style.transform='scale(2,2)';
}
希望我理解你的意思。
可以使用js来缩放页面,像这样:
var page = document.querySelector('#pf1');
var getRatio = function(elem){
return document.body.offsetWidth / elem.offsetWidth;
};
page.style.transformOrigin = 'center top';
var applyZoom = function(){
page.style.transform = 'scale(' + getRatio(page) + ')';
}
在文档就绪、调整大小和方向更改事件时调用此方法:
document.addEventListener('DOMContentLoaded', () => applyZoom());
window.addEventListener('resize', () => applyZoom());
window.addEventListener('orientationchange', () => applyZoom()); // probably not needed