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

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

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