【问题标题】:Break the HTML file into fixed size pages将 HTML 文件分成固定大小的页面
【发布时间】:2011-01-03 13:23:09
【问题描述】:

当在某些浏览器中打开时,我想以具有许多页面的书的形式显示 HTML 文件的内容(不是并排页面,而是一个接一个,如 PDF)。说,我定义页面宽度= 600px和高度= 800pz,内容应该适合一页,其余的应该溢出到下一页,就像这样。它应该适用于任何 HTML 文件。 如何将内容分成页面? XSL 以何种方式帮助我实现它?

【问题讨论】:

  • 你可以使用像plugins.jquery.com/project/pagination这样的分页插件来做到这一点
  • @Grillz 我认为这不是他的意思。他想对任意 HTML 内容执行此操作
  • 我猜不是。我仍然不是 100% 清楚他实际上在寻找什么。
  • @Grillz,例如,在 Adob​​e epub 阅读器中,它们以页面方式显示 HTML 内容。在 ipad 中,它们逐页显示 HTML(epub 书籍)。他们正在将连续的内容分成页面,对吗?我想要相同的功能...
  • 是的,但那些是应用程序。他们有自己的 HTML 渲染器。他们可以对内容做任何他们想做的事情。 Javascript 不能。

标签: javascript html web-applications


【解决方案1】:

理论上这应该可以通过将文档放入 800 像素高的 iframe 中并更改该 iframe 内的滚动位置(第 1 页 = 0px;第 2 页 = 800px;第 3 页 = 1600px .... )

不过,有问题的 HTML 页面必须在您的域中。

但实际上并排显示这些页面并没有合适的方法。您必须克隆整个文档的次数与页面数量一样多,并在页面滚动到不同位置时显示尽可能多的 iframe s。

根据您想要执行的操作,最好使用不同的技术(例如,让浏览器将网页打印为 PDF 文件,在此过程中将内容拆分为页面。)

【讨论】:

  • 好吧,我不想并排显示。一个接一个(向下,生活PDF)很好。但我不想转换成PDF。我只需要一种技术来制作不能完全适合当前页面的行,应该溢出到下一页。我可以使用 iframe 吗?
  • @Gpathy 你只想插入一行?这应该可以使用 jQuery 和 iframe,但页面必须在您的域中
  • "插入行" ?我不会插入任何行。我不会更改内容,而是将它们分成页面。这样用户就可以将它们编号成页面(如 PDF)
  • @Gpathy 抱歉,我误读了您的第一条评论。除非通过我描述的可怕方法(克隆文档),否则不可能并排显示。我很确定除了这种方式之外别无他法。
  • Pekka,对不起,你是说“除了那种方式之外没有其他办法”这个并排显示或一个接一个向下(生活 PDF)显示?我想要稍后...滚动到不同的位置(0px、800px、1600px)并不是一种复杂的方式。目前我只是这样做。但问题是,由于没有溢出,所以中间的线被切断了。即在大多数情况下,一半的行将在页面末尾可见,
【解决方案2】:

如果您需要 PDF 样式功能,请将 html 即时转换为 pdf,然后将其嵌入页面中。您可以在生成 pdf 时指定宽度和其他参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-27
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2020-06-01
    相关资源
    最近更新 更多