2016-08-18 27 views
0

我感興趣的調整,以操縱System.Drawing中下劃線厚度方式/微調這是越來越寫入使用PDFsharp library一個PDF一些代碼。.NET通過PDFsharp

的問題是:當我的文字,既大膽,並強調,下劃線變得更厚,以及其各自的文本。我希望能夠在文字變得粗體的同時讓底線保持細線。

在PDFsharp的API展望以及該的System.Drawing,它看起來像有這樣的沒有簡單的方法。

有誰知道嗎?

以下是使用PDFsharp lib的代碼的當前輸出示例,我很確定它有一些對System.Drawing和其他GDI/WPF實現的包裝調用。

我很確定我們使用GDI。我們在這裏做的主要PDFsharp呼叫

public void DrawString(string s, XFont font, XBrush brush, double x, double y, XStringFormat format, double width)

enter image description here

回答

1

生成PDF文件時,所以操作System.Drawing中不會做任何好你的情況PDFsharp不使用System.Drawing中。

PDFsharp使用字體表中的下劃線位置和下劃線粗細。

由於PDFsharp是開源的,您可以修改它以使用固定下劃線粗細。

,或者編寫繪製文本沒有下劃線,後來繪製文本下方的行一個輔助方法。這可以在不修改PDFsharp的情況下完成,您可以輕鬆升級到更高版本。

更新:另一種選擇:使用MigraDoc創建PDF文件。

MigraDoc使用PDFsharp創建PDF文件,但MigraDoc使用自己的代碼繪製文本的下劃線,常規和粗體文本將具有相同的下劃線。

+0

@lewiSnort更新了我的答案 - MigraDoc可能是您的一個解決方案。 –

+0

不幸的是MigraDoc不適合我們,但很高興知道。我喜歡'解決方法'的解決方案,而不是修改第三方代碼,但這是很好的信息,或者,也許我們可以向PdfSharp :)貢獻一個功能。謝謝! – lewiSnort