U3D 模型停用但不会消失!在单页模式下滚动时,它会保留在下一页上的位置(Acrobat Reader DC)

U3D 模型停用但不会消失!在单页模式下滚动时,它会保留在下一页上的位置(Acrobat Reader DC)

media9我在使用该包包含 3d 模型时遇到了一个奇怪的问题。

  1. 当我有一个\includemedia后跟一个\newpage两个或以上 \includemedia在下一页上,第一个\includemedia在下一页上仍然可见(但不活动)。\includemedia应该在该页面上的元素覆盖了上一页的元素。这种情况只发生在单页模式下(我认为)。

  2. 当中间有一个页面(没有模型)时,没有问题。

以下是简化的代码:

\documentclass{article}
\usepackage[final,activate=pageopen,deactivate=pageclose,noplaybutton]{media9}
\begin{document}
    \includemedia[
        width=0.9\linewidth,
        height=0.9\linewidth,
        3Dviews=Parts/91292A058/91292A058.vws
    ]{}{Parts/91292A058/91292A058.u3d}

    \newpage
    %Uncomment this line and next. No problems now.
    %\newpage

    \includemedia[
        width=0.3\linewidth,
        height=0.3\linewidth,
        3Dviews=Parts/91292A058/91292A058.vws
    ]{}{Parts/91292A058/91292A058.u3d}
    \includemedia[
        width=0.3\linewidth,
        height=0.3\linewidth,
        3Dviews=Parts/91292A058/91292A058.vws
    ]{}{Parts/91292A058/91292A058.u3d}
\end{document}

答案1

当前 AR-DC 似乎存在一个错误,导致无法在页面关闭事件中自动关闭 RichMedia 注释。

这是一个解决方法,通过 JavaScript 强制关闭 3D 内容:

(打开->分享LaTeX):

\documentclass{article}
\usepackage[final,activate=pageopen,noplaybutton]{media9}

% deactivate all RichMedia annots on the current page on page-close event
\begingroup
\edef\x{\endgroup
  \pdfpageattr{
    \the\pdfpageattr
    /AA <<
      /C <<
        /S/JavaScript /JS(
          var annotRichMedia=this.getAnnotsRichMedia(this.pageNum);
          for(var i=0; i<annotRichMedia.length; i++){
            annotRichMedia[i].activated=false;
          }
        )
      >>
    >>
  }
}
\x

\begin{document}

  \includemedia[%
      width=0.9\linewidth,
      height=0.9\linewidth,
      3Droo=27
  ]{}{dice.u3d}

  \newpage

  \includemedia[
      width=0.3\linewidth,
      height=0.3\linewidth,
      3Droo=27
  ]{}{dice.u3d}
  \includemedia[
      width=0.3\linewidth,
      height=0.3\linewidth,
      3Droo=27
  ]{}{dice.u3d}
\end{document}

相关内容