组件生成的PDF是否可以完全匹配WPF TextBlock的换行?

时间:2010-03-04 15:18:36

标签: .net wpf pdf-generation

我们有一个WPF应用程序,它有一个打印预览对话框。当我们创建PDF以匹配此打印预览对话框时,我们希望PDF显示100%匹配。例如,我们有一个带有设置高度和宽度的WPF TextBlock以及一些包含在文本块中的内容。然后,我们想要在PDF中完全重新创建此文本。到目前为止,我们已经尝试了一个PDF组件,我们发现在大多数情况下这看起来是正确的,但包装并不总是匹配100%。例如,在打印预览WPF TextBlock在一行上显示7个单词的情况下,使用PDF组件创建的PDF可能只显示6(下一行的第七个)。

我们的WPF TextBlocks和PDF文本块之间是否可以100%匹配?或者这是从WPF文本块到PDF文本块的限制,任何组件都永远无法克服?我们真的希望打印预览能够与PDF中的客户完美匹配。

2 个答案:

答案 0 :(得分:0)

您可能希望尝试使用WPF的RichTextBox作为只读而不是TextBlock。

答案 1 :(得分:0)

我们使用Tall Components TallPdf创建了PDF,并发现它非常匹配。要使用我们必须的TallPDF component进行近距离比赛:

  • 使用MultilineTextShape.LineSpacing播放以获取WPF文本块与PDF之间的匹配
  • 将特定系统字体文件用于粗体,斜体等(例如timesbd.ttf),而不是片段的Fragment.Bold(或Italics等)属性。
  • 确保字体大小以磅为单位(WPF Textblock的字体大小以像素为单位,宽度或文本块也是如此)。

在考虑这些项目后,PDF文本块与WPF Textblock完全匹配。