在Migradoc PDF中去除表格单元格的填充

5
我正在尝试去除Migradoc生成的PDF中一些不必要的填充,但迄今为止没有成功。我去了Migradoc论坛,但没有找到与我的问题相同的问题(而且我不想在另一个网站上注册只是为了问一个问题)。这就是它的样子:Unwanted padding around table cells 我想要删除的填充是每行列之间的白色空间,即“Artikel”和“Beskrivning”之间的空间。您可以看到下划线表明“Artikel”列在“Beskrivning”列开始之前就结束了。
我尝试了其他地方建议的所有通常嫌疑犯,例如:
table.Borders.Width = 0;  
table.LeftPadding = 0; 
table.RightPadding = 0;

等等,我也尝试在每一行和单元格上设置这些值,但似乎没有任何作用。似乎列的宽度对结果没有影响:如果我将单元格变窄,它们将换到新行,但填充仍然相同。

有什么建议吗?


你没有展示任何代码,也没有提供 MDDDL 文件。下划线并不告诉我列在哪里结束,它只是告诉我段落在列内的哪里结束。提供一个最小化可复现的例子会更有帮助。也许用 table.Borders.Width = 0.25; 我可以看到更多信息,但更好的方法是提供可操作的代码。 - I liked the old Stack Overflow
你写道:“Migradoc的论坛也没有帮助。” 你并没有在MigraDoc论坛上提出问题。为什么你要对论坛进行贬低评价呢? - I liked the old Stack Overflow
@ThomasH:很抱歉,由于公司政策,我无法展示代码。而且我甚至不知道MDDDL或者MVCE是什么,因为我都不用它们。 - peter3
@PDFsharpTeam:我不是有意对你们的论坛点“踩”,已经修改了我的问题。非常抱歉。 - peter3
MCVE: http://stackoverflow.com/help/mcve MDDDL: http://www.pdfsharp.net/wiki/MigraDocDDL.ashx MigraDoc SSCCE 模板:http://www.pdfsharp.net/wiki/SSCCE.ashx 请使用 SSCCE 模板,添加一个表格(2 行,2 列),并检查内边距 - 不应有不必要的内边距。然后将您项目中的代码添加到模板中,直到出现不必要的内边距为止。此时你可能知道内边距来自哪里了(在创建 SSCCE 或 MCVE 过程中,许多问题都可以被提问者解决)- 或者你可以创建一个 MDDDL 文件进行检查。 - I liked the old Stack Overflow
3个回答

6

我查找此问题是为了去除migradoc表格单元格的默认左右填充。对我来说,答案是使用这个表格属性:

grayTable.LeftPadding = 0;
grayTable.RightPadding = 0;

这将删除所有单元格的左右边距。这���概念在其他论坛上已经被广泛讨论,但没有得到答案。

希望对某些人有所帮助。

default left and right cell padding migradoc


0

这是我使用MigraDoc创建的一个表格 - 没有添加或删除任何填充:
MigraDoc Table

您可以看到下划线表示列的结束位置 - 至少对于左列,其中的文本换行到第二行。其他列中的文本太短了。

可能是您代码中的某些内容导致了额外的填充。回答您的问题“有什么建议如何进行?”:如果您真的想获得帮助,请向我们展示该代码。

也许您在表格中添加了带有左侧或右侧缩进的段落。我甚至不知道我在您的屏幕截图上看到的下划线是什么。它是段落的底部边框吗?


我确定代码中有些东西会使单元格列的填充发生变化,所以我想寻求一些提示,告诉我该查找什么。是的,该行是标题行底部的边框。 - peter3
你的代码中有一些问题。段落样式是其中之一。如果你不能展示任何代码,考虑分享一个最小化的MDDDL文件。 - I liked the old Stack Overflow
嗯,显然我指的是我的代码,因为Thomas写道“必须有你的代码造成了额外的填充”,而我也同意了。另外,如果我在寻求要查找的内容,你真的认为我是指MigraDoc的代码而不是我的吗?你是有意装糊涂吗? - peter3

-1
原来如果你设置了table.LeftIndent,它实际上会将该值传播到每个单元格。谁能想到呢?
同时也引出了一个问题,如何在不使每个单元格都左缩进的情况下左缩进表格,但我不确定是否想要问这个问题...

“Table” 没有 “LeftIndent”,因此我们仍然不知道是什么导致了您不需要的缩进。 您可以设置 result.Rows.LeftIndent 来缩进整个表格。 - I liked the old Stack Overflow
你改变了 table.Format.LeftIndent 吗?这是适用于表中所有单元格而不是表本身的属性。还请参阅此帖子:http://stackoverflow.com/a/33376753/1015447 - I liked the old Stack Overflow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接