我有兴趣调整/微调一些使用PDFsharp library写入PDF的代码。
问题是:当我的文字既粗体又带下划线时,下划线以及各自的文字都会变粗。我希望能够让下划线保持细长,而文本变为粗体。
查看PDFsharp的API以及System.Drawing
的API,看起来没有简单的方法可以做到这一点。
有人知道吗?
下面是使用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)
答案 0 :(得分:1)
PDFsharp在生成PDF文件时不使用System.Drawing,因此操作System.Drawing在您的情况下不会有任何好处。
PDFsharp使用字体表中的下划线位置和下划线粗细。
由于PDFsharp是开源的,您可以修改它以使用固定的下划线粗细。
或编写一个帮助方法,绘制没有下划线的文本,然后在文本下面画一条线。这可以在不修改PDFsharp的情况下完成,您可以轻松升级到更高版本。
更新:另一个选项:使用MigraDoc创建PDF文件。
MigraDoc使用PDFsharp创建PDF文件,但MigraDoc使用自己的代码绘制文本下划线,常规和粗体文本将具有相同的下划线。