Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 在Itextsharp中找不到多列文本错误_C#_Pdf_Itextsharp - Fatal编程技术网

C# 在Itextsharp中找不到多列文本错误

C# 在Itextsharp中找不到多列文本错误,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我试图用C#和iTextSharp将pdf页面分成两部分 完成此操作后,我想首先将值添加到第一部分,然后添加到第二部分 我在谷歌上搜索并了解了multiclumntext,但在使用时,它给出了一个错误。我正在使用版本5.5.0 代码如下: MultiColumnText columns = new MultiColumnText(); //float left, float right, float gutterwidth, int numcolumns columns.AddRegularC

我试图用C#和iTextSharp将pdf页面分成两部分

完成此操作后,我想首先将值添加到第一部分,然后添加到第二部分

我在谷歌上搜索并了解了
multiclumntext
,但在使用时,它给出了一个错误。我正在使用版本
5.5.0

代码如下:

MultiColumnText columns = new MultiColumnText();

//float left, float right, float gutterwidth, int numcolumns
columns.AddRegularColumns(36f, doc.PageSize.Width - 36f, 24f, 2);

Paragraph para = new Paragraph(text, new Font(Font.NORMAL, 8f));
para.SpacingAfter = 9f;
para.Alignment = Element.ALIGN_JUSTIFIED;

for (int i = 0; i < 8; i++)
{
    columns.AddElement(para);
}

doc.Add(columns);

由于几个问题(以及较差的可维护性),该类被删除。改为使用
ColumnText
。@BrunoLowagie我试图使用ColumnText,但无法获取。请您指导我如何在文章中将上述代码与ColumnText一起使用。这里有一个完整的Java示例:(对于一个C#开发者来说,将它移植到C#应该很容易,但不幸的是我不知道C#,并且不是所有的C#开发者都能看到sharp。)@BrunoLowagie我很抱歉地告诉你我不知道java@BrunoLowagie哦,是的!我不是一个java到c的转换器。无论如何,我都会努力,但很难在c中找到正确的方法。让c。
        public static void paraPDF(){

        //string pdfpath = "D:\\hello\\12.pdf";
        string imagepath = "D:\\Bill\\Hello.pdf";
        Document doc = new Document();


        try
          {
               string TEXT = "This is some long paragraph that will be added over and over again to prove a point.";
               Rectangle[] COLUMNS = {
                new Rectangle(36, 36, 290, 806),
                new Rectangle(305, 36, 559, 806)
              };


        PdfWriter writer2= PdfWriter.GetInstance(doc, new FileStream(imagepath, FileMode.Create));
        doc.Open();
        PdfContentByte canvas = writer2.DirectContent;
        ColumnText ct = new ColumnText(canvas);
        int side_of_the_page = 0;
        ct.SetSimpleColumn(COLUMNS[side_of_the_page]);
         int paragraphs = 0;
              while (paragraphs < 30)
          {
           ct.AddElement(new Paragraph(String.Format("Paragraph %s: %s", ++paragraphs, TEXT)));
               while (ColumnText.HasMoreText(ct.Go()))
            {
        if (side_of_the_page == 0)
        {
            side_of_the_page = 1;
            canvas.MoveTo(297.5f, 36);
            canvas.LineTo(297.5f, 806);
            canvas.Stroke();
        }
        else
        {
            side_of_the_page = 0;
            doc.NewPage();
        }
        ct.SetSimpleColumn(COLUMNS[side_of_the_page]);
        doc.Close();
    }
}