編輯:更好的解釋: 之前設定的賞金這個問題,我想更清楚地說明我需要什麼:用於排版文檔的.NET庫(PDF或類似)?
我需要.NET庫生成可打印的文檔。用戶應該能夠使用我的應用程序或使用外部工具(如Adobe Acrobat reader)打印完全相同的文檔。它不一定是用於生成PDF文檔的庫,任何滿足上述條件的文檔格式都可以。
我需要的庫,支持以下情形:
方案1:
- 我創造一些字體和顏色的文本。
- 我問圖書館的寬度,如果這個文本,如果打印。
- 我基於2中的信息計算此文本的位置(頁面上的[X,Y]座標),並讓庫打印在頁面上的此位置。
方案2:
- 我創建的標它的某些部分文本。文本的所有部分(正常和上標)都是相同的(但可變)字體。
- 我問圖書館什麼是寬度,如果這個文本打印時。我得到正確的答案,也考慮到正常文本和上標之間的kerning。
- 我在要打印文本的頁面上計算位置([X,Y]座標)(使用步驟2中的寬度)。我讓圖書館在這個位置打印它。在頁面上打印,它具有上一步庫中返回的寬度。
注意的第二個場景:我有在標某些部分的文字 - 例如AAA{v-superscript text}BBB
(其中{}
括號文字上標)。該庫需要能夠使用正確的kerning打印此文本。如果沒有正確的調整,最後的上標t
和第一個B
之間的最後A
和第一上標v
之間將會有相同的差距。對於用戶來說,看起來在A
和上標v
之間有一個空格,但在最後一個上標字母后沒有空格。所以文字看起來很醜。如果庫要正確處理它,它將有方法一次打印整個文本AAA{v-superscript text}BBB
,並且其中的一部分在上標中。然後它會在正常文本和上標之間使用正確的字距。
方案3:
- 我想打印的圖片是由直線,圓,實心圓,字母和Bezier曲線上的一個頁面確切點。我需要指定線條和圓圈的寬度。所有形狀都需要以像素精度打印。
該庫應該是免費的,而不是GPL(LGPL是好的)。有什麼可以讓我做我需要的嗎?可以使用iTextSharp(版本4.1.6,LGPL不是AGPL)來完成嗎?或者也許與固定文件?謝謝你的任何建議。
原題:
我需要排版複雜的文檔在.NET(C#),爲用戶應用。這些文件的主要用途是打印。
文檔將包含文本和簡單的生成圖形。文本和圖形的佈局將很複雜,需要進行計算(換句話說,文檔中的文本位置需要由我的代碼控制,它不會由所選庫自動完成)。
這裏是我的API的要求:
- 函數返回給定的字符串和詳細的寬度定的字體在文本應該出現
- 來定位頁面
- 有文字上的文本到確切位置的能力其中的一部分在超級腳本中
- 函數獲得一些文字的確切寬度,其中有一部分在上標
- 添加圖片的能力甚至更好的選項d原始簡單圖形(給定厚度的線,給定半徑/直徑的實心圓)
它不一定是用於創建PDF文檔的庫 - 任何其他「你看到的是將要打印的」文檔格式也做。如果有WPF組件可以顯示這些文檔,這是一個優勢。 我知道有iTextSharp,但不容易實現4.需求與iTextSharp。當然一些滿足上述要求的PDF生成庫也是很好的解決方案。
感謝您的任何建議,我也很樂意提供詳細信息或更清晰的解釋。
你看過XPS/XpsDocumentWriter/etc。然而? – 2011-04-12 00:20:06
@Logan Capaldo:這個名字對我來說聽起來很熟悉......如果是那種具有原生WPF控件來顯示它的格式,比我之前看過的格式要好。但我沒有弄清楚在WPF中是否有簡單的方法來生成這樣的文檔。我有問題沒有關於它的答案在這裏:http://stackoverflow.com/questions/4634445/how-to-work-with-fixedpage。 – drasto 2011-04-12 00:27:47
@Logan Capaldo:但是XPS文件不是固定的嗎?所以它不顯示完全相同的佈局將被打印? – drasto 2011-04-12 00:40:57