应用程序描述: 我有一个允许用户将报告输出到文档的应用程序。写入文档的数据采用表格的形式。表格中的列数和表格中每个单元格中包含的字符串的宽度在运行之前是未知的(这取决于用户运行的查询、他们希望在报告中看到的内容等)。
我正在使用 Delphi XE 和 Gnostice 的 eDocEngine 创建一个 PDF 文档,然后在文档中创建一个表格并将报告数据写入其中。
问题: 我遇到的问题是,在它们从文档右侧消失之前,您只能在文档中写入一定数量的列(6 或 7)。用户在表中生成包含 30 或 40 列的报告并不陌生(因为它们对应于数据库中的字段,他们对其运行查询),因此我需要能够使表适合完全放入文档中,无论它包含多少列。
由于 PDF 可以缩放,我想我可以缩小字体大小和列宽并以这种方式适合所有内容,因为用户可以使用他们的 PDF 阅读器放大和滚动表格。我需要知道的是:
- 有没有更好的方法让整个表格适合页面?
- 如果缩小/缩放是最好/唯一的方法,那么确保所有内容都适合而不会使文档看起来很奇怪的最有效方法是什么(即理想情况下,表格应该在页面上伸展,而不是堆积在左边手边,因为一些随机缩放算法)。
编辑 我刚刚做了一些更多的挖掘,我发现“inputXRes”和“inputYRes”属性会改变文档中画布的比例,这看起来很有希望,但我无法让它在片刻。任何人都可以阐明如何使用这些属性吗?文本本身是缩放的,但表格的大小保持不变,这意味着我现在在一个巨大的表格单元格中间有一小段文本,表格仍然只显示报告中的 7 列。