提交 54deddf5 authored 作者: gzcnkilys_admin's avatar gzcnkilys_admin

fix: 解决应为图片minHeight和minWidth导致放到缩小翻页不正常的问题。

上级 a26457df
......@@ -314,8 +314,6 @@
if (_pdfjsLib.AnnotationLayer) {
// this.div.innerHTML = "";
// debugger
var parameters = {
viewport: viewport.clone({ dontFlip: true }),
div: this.div,
......@@ -339,7 +337,6 @@
var annotations = this.pdfPage.getAnnotation();
// debugger
if (_this._cancelled) {
return;
}
......
......@@ -233,19 +233,17 @@ const updatePageDimensions = (dimensions, $magazine) => {
$magazine.turn("size", dimensions.scaledWidth * 2, dimensions.scaledHeight);
}
$magazine.turn('resize');
$magazine.turn('update');
// 逐页强制刷新 flip wrapper
const data = $magazine.data();
for (let page in data.pages) {
if (data.pages.hasOwnProperty(page)) {
data.pages[page].flip('resize', true);
}
}
// 更新页面尺寸
// $magazine.children().each(function () {
// const $page = $(this);
// $page.css({
// width: dimensions.scaledWidth,
// height: dimensions.scaledHeight,
// });
// });
// 更新 z-index 和交互区域
$magazine.turn('update');
};
// 更新视口样式
......@@ -773,21 +771,10 @@ const initBook = async () => {
const $magazine = $(magazine.value);
const $viewport = $(".magazine-viewport");
$viewport.css({
overflow: "hidden",
position: "relative",
width: "100%",
height: "100%",
});
$magazine.children().each(function () {
$magazine.children().each(function (index) {
const $page = $(this);
$page.css({
position: "absolute",
overflow: "hidden",
width: pageWidth,
height: pageHeight,
});
const pageIndex = index;
const pageData = processedPages.value[pageIndex];
const $img = $page.find("img");
if ($img.length) {
......@@ -798,19 +785,18 @@ const initBook = async () => {
});
}
// PDF页面由PdfViewer动态渲染,不需要处理静态canvas
// 确保PDF页面容器有正确的尺寸
if ($page.find("img").length === 0) {
// 这是PDF页面,设置容器尺寸
if ($page.find("img").length === 0 && !props.isPdf) {
// 这是PDF页面,设置容器尺寸
$page.css({
width: pageWidth,
height: pageHeight,
// 移除 minWidth 和 minHeight,避免影响边缘检测
minWidth: pageWidth,
minHeight: pageHeight,
});
}
});
// 移动端使用单页显示
console.log(`turn.js初始化参数: 宽度=${isMobile.value ? pageWidth : pageWidth * 2}, 高度=${pageHeight}`);
$magazine.turn({
......@@ -1080,7 +1066,6 @@ const renderPdfPage = async (pageIndex, forceCheck = true) => {
// 创建页面div元素
// todo 这里可能能够优化一下
debugger
const pageDiv = document.createElement('div');
pageDiv.className = 'pdfViewer';
pageDiv.setAttribute('data-page-number', pageNum);
......@@ -1185,7 +1170,6 @@ const checkAndUpdatePdfPageScale = async (pageIndex) => {
console.warn(`页面${pageNum} viewport.scale无效,使用新计算的scale`);
}
debugger
const scaleDifference = Math.abs(currentScale - newScale);
const scaleThreshold = 0.01; // 允许的scale差异阈值
......@@ -1236,7 +1220,6 @@ const checkAndUpdatePdfPageScale = async (pageIndex) => {
return false;
}
debugger
// 使用补偿后的 scale 创建 viewport
const newViewport = pdfPage.getViewport(scaleInfo.compensatedScale);
......@@ -1441,7 +1424,6 @@ const zoomOut = () => {
// 提取公共的缩放更新逻辑
const updateZoomCommon = async (isResize = false) => {
debugger
if (!magazine.value || !isInitialized.value) return;
const $magazine = $(magazine.value);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论