0

在我的应用程序中,我有一个基于 html 的组织结构图,它可以变得相当大(水平和垂直)。我们正在用这个 html 版本替换基于 Flash 的组织结构图。实际的 HTML 是 HTML5(如 SVG)和标准 HTML 的混合体。

在页面上,您可以拖动图表,放大,缩小 - 一切看起来都很棒 - 正常显示没有问题。

不过,问题在于基于 Flash 的组织结构图有一个“打印”按钮,该按钮会打开一个基于 Flash 的精美打印对话框,允许您将图表调整到一页或多页。

这是我为支持这一点所做的工作:

  1. 听前印
  2. 使图表“全屏”(删除页眉/页脚/等,现在只有图表可见)
  3. 删除应用的任何比例,使其处于 100% 比例
  4. 在 afterprint 事件中,我带回所有隐藏的元素并重新应用比例

我还尝试复制 HTML 并将其显示在弹出窗口中,然后用户将不得不打印该页面。

似乎如果图表非常高,它似乎分布在多个打印页面上,但如果它真的很宽 - 图表的右侧就会被切断。

我该怎么做才能以某种方式打印整个图表?

也许我可以找出一个适用于图表的比例,以便它完全适合水平空间?

我可以以某种方式检测将在生成的打印页面上水平放置的像素数吗?这需要打印机的DPI吗?

为什么不打印真正宽的东西?

4

1 回答 1

1

这篇文章中有一些有趣的观点。我知道这将是一个绝对的痛苦,但是是否可以以编程方式将您的工作表拆分为正确大小(x 和 y)的平铺 div,然后将它们堆叠在一个仅对打印机可见的 div 中(使用 @ dave 对 CSS 媒体设置的建议)?我知道在我们的打印机上,大多数情况下页面的标准宽度是 649 像素(除非有人弄乱了打印设置)。

我不确定这是否真的构成了一个答案,但如果你能把它拉下来!... ;o)

于 2013-06-07T00:41:58.207 回答