2009-11-11 40 views
2

我需要爲應用程序添加打印功能,並且我一直在尋找有關打印的信息。邏輯/物理尺寸,dpi,字體縮放等,很多消化,因爲我從來沒有編程打印到任何應用程序之前。Delphi打印底漆

是否有任何網站會提供關於頁面大小,頁邊空白以及理解在Windows上打印所需的所有其他元素的入門知識?我一直在尋找一段時間,但我發現無論是神祕或歲...

我一直在玩TPrinter,但我想建立堅實的打印功能,並瞭解我是什麼做得更好。

使用報告解決方案不是一種選擇,儘管我確信它可以更快提供更好的結果。

+0

那麼這是多少歲?它不一定是壞的。我認爲,自從多年以來,印刷和印刷業的世界並沒有發生重大變化。您可以像在畫布上繪製一樣在畫布上進行打印。你想完成什麼? – Wodzu 2009-11-11 14:00:44

+0

@Wodzu:在任何其他打印機畫布上打印都是懶惰的方式。爲了不必處理不同的打印機分辨率,設置映射模式(如'MM_LOMETRIC'或'MM_HIMETRIC')的IMHO要好得多。不幸的是,在VCL中沒有這種支持,所以直接調用Windows API是必要的。 – mghie 2009-11-11 14:44:48

+0

@mghie,但他仍然在繪畫,就像他將在任何其他畫布上繪畫一樣,區別在於metrcis已經改變。我的意思是實際執行繪圖的方法。 – Wodzu 2009-11-11 16:36:41

回答

5
+0

我設法找到我需要的所有信息,感謝您發佈這些鏈接。 我花時間注意到我無法在原始問題中使用報告解決方案。這是由於軟件限制,預算限制,要求和幾個報告解決方案的評估所致...... 重新創建輪子可能需要時間離開項目核心。但是,如果做得對,那個車輪將完美適合它應該適合的地方...... – 2009-11-14 18:11:52

0

德爾福的版本使用是很重要的you're。許多Delphis都帶有像ReportSmith(呃)這樣的打印引擎。橫向思考的另一種選擇是使用MS Word作爲打印引擎。在&利用了他們的功能之前,我已經迷上了Word & Excel的實例。至於使用TPrinter的原始打印或TForm的打印方法,你必須非常絕望。我似乎回想起Pacheo/Texeira Delphi書籍中的相當不錯的概述,因此您可能想查看是否可以在某處找到該副本。

+3

你不能指望每個人都安裝MS字,所以這不是一個真正的解決方案。 – jpfollenius 2009-11-11 12:25:03

+1

如果您正在編寫shrinkwrap軟件,那麼您是正確的,但是如果您正在爲受控環境編寫Word,那麼Word就是SOE的一部分,您可以依賴Word。如果沒有,你可以依靠在RTF寫和做所有事情 - 在那裏,做到了,得到了T恤,不想再做一次。在我們確定地回答之前,我們需要更多信息。 – mcottle 2009-11-12 02:24:32

+0

@mcottle我知道這很粗魯,但我想知道我是否可以聯繫到你關於在SE堆棧交換中解析Delphi的帖子。 – 2016-10-28 11:52:48

1

我認爲你看起來太低級了。

嘗試查看構建報告工具(Rave或您的產品中的任何內容)。 就我個人而言,我使用的是數字隱喻產品,名爲Report Builder。

但是,如果你想要做的東西低級OG很多好的信息可以在efg's computer lab - printing

1

很好地發現,我做的事情了各種過去的方式,包括「硬辦法」與TPrinter。事實上,我最近不得不再次運行特殊庫存標籤打印機。

另一方面,有時候你最好是別人已經完成的工作,並使用它爲你的利益。我同意ReportSmith不太好,也是Delphi(和Windows)特定的。使用Excel或Word有這些限制,加上用戶必須實際安裝它們的事實。

爲了使一些簡單的應用程序易於打印,我做了一件事就是生成一個HTML文件並調用用戶的Web瀏覽器,然後他們可以打印它。對於數字數據,可以相對容易地創建HTML表格,並且還可以包含照片等。這適用於某些應用程序,適用於安裝了Web瀏覽器的每個平臺。不利的一面是,HTML並不是最精確的佈局語言。

+0

+1輸出到html。然後我習慣使用pbear的htmlview來打印它(而不是發送給瀏覽器),但是最後一次看到的htmlview並沒有被更新爲使用unicode,因此沒有正確打印。 – 2011-05-06 10:50:51