Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iText PDF多栏文本行高_C#_.net_Itextsharp_Itext - Fatal编程技术网

C# iText PDF多栏文本行高

C# iText PDF多栏文本行高,c#,.net,itextsharp,itext,C#,.net,Itextsharp,Itext,当段落对象添加到MultiColumnText对象内的一列时,设置其行高时遇到问题 请注意每条新行之间的任意间距。第二列呈现内容的屏幕截图 我已将其渲染并正确转到下一列。但我似乎无法设定每一排的高度。想法 我的代码: MultiColumnText mct = new MultiColumnText(); mct.Alignment = Element.ALIGN_JUSTIFIED_ALL; //8 // setup c

当段落对象添加到MultiColumnText对象内的一列时,设置其行高时遇到问题

请注意每条新行之间的任意间距。第二列呈现内容的屏幕截图

我已将其渲染并正确转到下一列。但我似乎无法设定每一排的高度。想法

我的代码:

MultiColumnText mct = new MultiColumnText();
            mct.Alignment = Element.ALIGN_JUSTIFIED_ALL;
            //8

            // setup column 1
            float[] left = {1020, 280, 1020, 7 };
            float[] right = {1022, 576,
                         1022, 280,
                         1096, 280,
                         1214, 154,
                         1214, 7
                        };
            mct.AddColumn(left, right);

            // setup column 2
            left = new float[] { 1422, 576,
                              1422, 266,
                              1259, 106,
                              1246, 105,
                              1246, 7
                             };
            right = new float[] {1433, 280, 1433, 7 };
            mct.AddColumn(left, right);
            techDataColumnText += " GALLIA est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur.  Hi omnes lingua, institutis, legibus inter se differunt. Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit. Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe commeant atque ea quae ad effeminandos animos pertinent important, proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter bellum gerunt.  Qua de causa Helvetii quoque reliquos Gallos virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.";
            Paragraph techDataPhrase = new Paragraph(techDataColumnText, new Font(FuturaBoldBaseFont, 8f));

            mct.AddElement(techDataPhrase);
            do
            {
                document.Add(mct);
                mct.NextColumn();
            } while (mct.IsOverflow());
三个想法:

  • MultiColumnText
    已从最新的iText版本中删除,因此您可能不想在其中投入太多时间。如果您想获得经得起未来考验的解决方案,请使用
    ColumnText
  • 你说有一个任意的线高度。在PDF语言中,行距称为前导。我没有看到您在任何地方使用
    setLeading()
    (可能我忽略了什么)
  • (多)列文本
    PdfPCell
    有两种不同的模式。文本模式和复合模式
  • 在复合模式下,容器(列或单元格)的设置将被忽略,而内容(段落和其他添加的对象)的设置将被忽略。在此模式下,容器的内容物可以有不同的引线、对齐方式等

    在文本模式下,在容器级别(列或单元格)设置前导,所有内容都遵循该设置。在此模式下,所有内容都具有相同的前导、相同的对齐方式

    您正在创建一个不规则的列,这意味着您只能在文本模式下工作。您需要在列的级别设置前导。

    三个想法:

  • MultiColumnText
    已从最新的iText版本中删除,因此您可能不想在其中投入太多时间。如果您想获得经得起未来考验的解决方案,请使用
    ColumnText
  • 你说有一个任意的线高度。在PDF语言中,行距称为前导。我没有看到您在任何地方使用
    setLeading()
    (可能我忽略了什么)
  • (多)列文本
    PdfPCell
    有两种不同的模式。文本模式和复合模式
  • 在复合模式下,容器(列或单元格)的设置将被忽略,而内容(段落和其他添加的对象)的设置将被忽略。在此模式下,容器的内容物可以有不同的引线、对齐方式等

    在文本模式下,在容器级别(列或单元格)设置前导,所有内容都遵循该设置。在此模式下,所有内容都具有相同的前导、相同的对齐方式


    您正在创建一个不规则的列,这意味着您只能在文本模式下工作。您需要在列级别设置前导。

    您是对的,我必须在列级别添加前导。此外,iText 4实际上并没有在列级别正确设置前导。您必须使用iText 5才能正确处理不规则的列。谢谢你,布鲁诺你是对的,我必须在列级别添加前导。此外,iText 4实际上并没有在列级别正确设置前导。您必须使用iText 5才能正确处理不规则的列。谢谢你,布鲁诺