首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于将内容限制在单一印刷页上的想法?

关于将内容限制在单一印刷页上的想法?
EN

Stack Overflow用户
提问于 2010-06-12 23:03:37
回答 3查看 745关注 0票数 0

我有5-6个文本区域,用户填写在一个模板(几个专栏,基本上是一个通讯格式)。我需要把他们的内容限制在一页纸上,但我很难想出切实可行的解决方案。印刷格式(边距、字体大小等)对所有用户都是一样的,因为它是从一个中央源打印出来的。

我有几个想法,但它们看起来都很不可靠,很难实现:

  • 使用JavaScript确定内容的高度,并据此估计打印页面的数量。的问题是浏览器的字体大小可能会有所不同,它只是粗略的估计(像素到英寸)等等。
  • 限制了字符的数量。--这是有问题的,因为有不同的文本字段,某些字符(如M)比其他字符(比如我)占用更多的空间,而换行显然更重要。

你们都有什么想法?我很感激你的帮助!

EN

回答 3

Stack Overflow用户

发布于 2010-06-12 23:25:21

测量内容等可能是非常棘手的。相反,请阅读如何制作打印样式表。CSS使您可以控制文本打印的内容和方式。

编辑:

我从来没有像你想的那样限制页面打印,但我认为,通过使用固定字体(每个字符占用的空间完全相同),您也许可以完成它。因此,尝试打印一页充满固定字体字符的页面,然后查看您在x和y中插入了多少个字符,然后使用JavaScript来监视(例如,使用jQuery)输入框中它们用完了多少行。这样,您就可以限制用户输入太多的文本/linefeed(您需要编写所有这些代码,因为我怀疑有这样的解决方案)。您还需要考虑到打印页面上文本区域之间的间距。这有道理吗?

票数 1
EN

Stack Overflow用户

发布于 2010-06-13 00:31:49

您可以使用单间距字体格式化打印输出--这意味着字体上的每个字母/数字/等等都是相同的宽度(例如,信使)。由于类似的原因,单频字体在早期的计算机时代非常流行--它允许开发者控制屏幕上显示的内容。

如果您的列有固定的宽度,您现在可以确定用户每一行可以添加多少个字符。剩下的唯一挑战是如何计算换行符,这可以通过使用Javascript搜索它们来完成。

因此,考虑到这些变量:

  • 元素中每行字符的值(列的宽度)
  • 每个元素的行(内容框的高度)

现在,您可以提前准确地知道您的内容是否适合页面。

您可以计算每个输入字段的行数,换行符迫使您开始计算另一行,而不管当前行中有多少个字符。

这应该会给你精确的控制量,你需要。

至于外观,只要你选择的是“打字机”,你就会觉得要让它看起来有趣并不难;)一个快速的网络搜索会产生一些可能有用的单频字体:

  • http://www.sitepoint.com/blogs/2010/01/09/more-monospaced-type-goodness-ten-free-fonts/
  • http://new.myfonts.com/fonts/bitstream/prestige-12-pitch/
票数 1
EN

Stack Overflow用户

发布于 2010-06-28 10:06:09

减少页溢出时的行间距。

LineHeight = 12‘默认值

MaxLines = 50

-Here你数数行

如果CountLines > MaxLines,那么LineSpace = lineSpace * MaxLines / CountLines

最复杂的选项是更改字体大小直到适合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3030415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档