gpt4 book ai didi

java - 在java中的预打印信纸上打印

转载 作者:行者123 更新时间:2023-12-01 12:50:12 25 4
gpt4 key购买 nike

在我的基于网络的应用程序中,我必须在预先打印的文具中打印一份报告。

我可以使用JAVA中的哪些选项来打印。还有其他要求,例如如果文本无法容纳一页,则应使用下一页进行打印。

此外,我想到的其他一些问题是:

  1. 字符宽度会起作用吗? 'i' 和 'w' 例如。需要不同的字符宽度。
  2. 打印是否也取决于打印机正在使用哪个?

此外,我有网络应用程序,打印需要在客户端计算机上的客户端打印机上完成。

最佳答案

我会使用XSL-FO创建一个布局模板,其中包含与纸质表单上的每个字段相对应的绝对定位的 block 容器。这将允许您准确定位文本并限制文本 block 的范围(使用overflow =“hidden”)。

然后您可以使用 Apache FOP从 XSL-FO 源文件生成 PDF 文件。

例如使用此源文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="EN">
<fo:layout-master-set>
<fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="A4">
<fo:region-body margin-bottom="0mm" margin-top="0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow reference-orientation="0" border-collapse="collapse" flow-name="xsl-region-body">
<fo:block-container position="absolute" top="3cm" left="3cm" height="2cm" width="5cm" overflow="hidden">
<fo:block font-family="Times" font-size="14pt" color="red">
Absolute at top=3cm/left=3cm - Lorem ipsum dolor sit amet, consetetur sadipscing elitr
</fo:block>
</fo:block-container>
<fo:block-container position="absolute" top="4cm" left="9cm" height="2cm" width="5cm" overflow="hidden">
<fo:block font-family="Arial Unicode MS" font-size="14pt" color="blue">
Absolute at top=4cm/left=9cm - ನಾಮಪ್ರತ್ಯಯಗಳ ಮೋದಲನೇ ವರ್ಗ
</fo:block>
</fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>

将产生以下PDF file .

打印 PDF 文件时,您必须确保 PDF 查看器不会尝试缩放输出以适应可用的打印空间(我认为该选项在 Adob​​e Acrobat Reader 中默认启用)。

关于java - 在java中的预打印信纸上打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24281296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com