为了像文字处理器那样对齐文本,必须将“linebreak”设置为“false”,将“parbreak”设置为“true”。对于每一行,您必须使用“\n\n”(两个换行符,而不是文档中所说的回车符)。如果您希望在完成的文档中创建两行,则“\n\n\n\n”不起作用。相反,您必须使用“\n\n \n\n”。
对于要对齐的每一行,您都应在文本末尾附加“\n ”(换行符和空格)。要使此方法起作用,“linebreak”必须为“true”。
(PECL ps >= 1.1.0)
ps_show_boxed — 在方框中输出文本
$psdoc
,$text
,$left
,$bottom
,$width
,$height
,$hmode
,$feature
= ?在给定的方框中输出文本。方框的左下角位于(left
,bottom
)。将在需要的地方插入换行符。多个空格将被视为一个空格。制表符将被视为空格。
如果参数 hyphenation
设置为 true
并且参数 hyphendict
包含连字符文件有效的文件名,则文本将进行连字符化。行间距取自值 leading
。段落可以通过空行分隔,就像在 TeX 中一样。如果值 parindent
设置为值 > 0.0,则前 n 行将缩进。n 行数由参数 numindentlines
设置。为了防止前 m 个段落的缩进,将值 parindentskip
设置为正数。
psdoc
Postscript 文件的资源标识符,由 ps_new() 返回。
text
要输出到给定方框中的文本。
left
方框左下角的 x 坐标。
bottom
方框左下角的 y 坐标。
width
方框的宽度。
height
方框的高度。
hmode
参数 hmode
可以是 justify
、fulljustify
、right
、left
或 center
。 justify
和 fulljustify
的区别仅影响方框的最后一行。在 fulljustify
模式下,最后一行将左对齐和右对齐,除非这还是段落的最后一行。在 justify
模式下,它将始终左对齐。
feature
ps_show_boxed() 的输出可以通过多个参数和值进行配置,这些参数和值必须使用 ps_set_parameter() 或 ps_set_value() 设置。除了影响文本输出的参数和值之外,还会评估以下参数和值。
两条连续基线之间的距离。
用于连字符模式的字典的文件名(见下文)。
在连字符之前或之后必须至少剩余的字符数。这意味着只有至少两倍于此值的单词才会被连字符化。默认值为 3。将值设置为 0 将导致默认值。
设置以像素为单位的空间量,用于缩进段落的前 m 行。m 可以使用值 numindentlines
设置。
设置段落之间额外空间的量(以像素为单位)。默认为 0
,这将导致正常的行距。
从段落开头开始将缩进的行数。默认为 1
。
方框中第一行不会缩进的段落数。默认为 0
。这对于节标题后的段落或在第二个方框中继续的文本很有用。在这两种情况下,都会将其设置为 1
。
设置行编号的方式。可能的值为 box
(对整个方框中的行进行编号)或 paragraph
(对每个段落内的行进行编号)。
包含行号的编号行左侧的列的空间。行号将右对齐到此列。默认为 20
。
带行号的列与行本身之间的空间。默认为 5
。
如果参数 hyphenation
设置为 true 并且设置了有效的连字符字典,则文本将被连字符化。pslib 不会自带连字符字典,而是使用来自 openoffice、scribus 或 koffice 的字典。如果安装了该软件,您可以在以下目录之一中找到针对不同语言的字典
无法写入的字符数。
为了像文字处理器那样对齐文本,必须将“linebreak”设置为“false”,将“parbreak”设置为“true”。对于每一行,您必须使用“\n\n”(两个换行符,而不是文档中所说的回车符)。如果您希望在完成的文档中创建两行,则“\n\n\n\n”不起作用。相反,您必须使用“\n\n \n\n”。
对于要对齐的每一行,您都应在文本末尾附加“\n ”(换行符和空格)。要使此方法起作用,“linebreak”必须为“true”。
请注意,即使函数名称暗示会绘制文本周围的方框,也不会绘制任何方框。
绘制方框后,您可以使用以下代码获取新的 x 和 y 位置:
<?php
$x=ps_get_value($ps,'textx',NULL);
$y=ps_get_value($ps,'texty',NULL);
?>
textx 指向 ps_show_boxed 最后写入的字符的末尾,texty 指向最后写入行的基线(这意味着,如果最后一行例如有一个“g”,则 g 的下部的 y 坐标将低于 texty 的值。我希望您理解我的意思)