2016-01-16 47 views
1

我使用Java创建Web应用程序,其中一个任务是向客户打印报告。问题是纸张设计已经制作并放在实际的打印机中,我只能填写空白字段。问题是:
1)如何在字段中精确打印值?
2)有没有办法在没有物理打印机的情况下模拟这个过程,比如使用虚拟打印机并将默认页面上传到它?如何在Java中已经设计的A4纸上打印数值?

我附上将在打印机中的纸张的一部分,我应该使用来自JSF页面的数据填充空白字段。

enter image description here

+1

论文是“官方”吗?因为只需在白纸上打印所有内容,而不是试图将文本放在正确的位置,会更容易。 – Kayaman

+0

不幸的是,纸张是官方的,我必须填写我的自我空白。 –

回答

2

我解决了你以前的问题。我的公司有预先设计的打印发票。我的任务是将数据放入空白处。根据我的经验,您应该:

  • 将纸张扫描到与物理版本大小相同的图像中。
  • 测量从空白到另一个的距离。
  • 根据您的测量指定空白位置输出数据。
  • 您可以使用数字化版本作为输出页面的背景并对其进行测试。
  • 尝试放置第一个空白处。
  • 测试并调整您的代码。

希望它有帮助。

1

如果有没有在页面的东西只有在软拷贝,你可以做一两件事。在打印页面上设计一种A4,完全一样。然后在你想从java程序中填写的地方写下变量。该docx文件将作为模板。之后,将这些文本替换为该模板中Java程序的实际值。所有这些都可以使用docx4j api完成。

像这样的代码块将是有益的:

if (textElement.getValue().contains(placeholder)) { 
    String temp = textElement.getValue(); 
    temp = temp.replace(placeholder, name); 
    textElement.setValue(temp); 
    return; 
    } 

这是我们如何做到这一点我们的项目。如果您需要更多帮助,请告诉我。

+0

感谢您的建议,我会尝试并让您知道。 –

相关问题