2016-01-16 49 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

感謝您的建議,我會嘗試並讓您知道。 –

相關問題