Я пытаюсь добавить данные из файла csv в определенном формате в pdf-файл. Проблема заключается в том, что я успешно смог добавить данные, но по какой-то причине строки между строками таблицы не рисуются в моем pdf-документе. Я действительно потерялся, так как не знаю, что я могу делать неправильно.Стол Itextsharp не рисовал линии в C#?
Это то, что я пытался до сих пор: -
using System;
using System.Web;
using System.Web.UI;
using TikaOnDotNet.TextExtraction;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using Excel;
using System.Data;
using System.Collections.Generic;
namespace Project
{
public partial class Default : System.Web.UI.Page
{
int y;
string[] res = null;
public void button1Clicked(object sender, EventArgs args)
{
button1.Text = "You clicked me";
DPdfView v = new DPdfView();
res = v.ReadCSV().ToArray();
generatepdffile(res);
}
protected void generatepdffile(string[] res)
{
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("file9.pdf"), FileMode.Create));
doc.Open();
PdfPTable table = new PdfPTable(7);
PdfPCell c1 = new PdfPCell();
PdfPCell c2 = new PdfPCell();
PdfPCell c3 = new PdfPCell();
PdfPCell c4 = new PdfPCell();
PdfPCell c5 = new PdfPCell();
PdfPCell c6 = new PdfPCell();
PdfPCell c7 = new PdfPCell();
String con = null;
for (int i= 0;i<res.Length;i++)
{
List<String> col = new List<String>();
foreach (string line in res[i].ToString().Split('|'))
{
con = res[i];
col.Add(line);
}
string[] columns = col.ToArray();
c1.AddElement(new Phrase(columns[0]));
c2.AddElement(new Phrase(columns[1]));
c3.AddElement(new Phrase(columns[2]));
c4.AddElement(new Phrase(columns[3]));
c5.AddElement(new Phrase(columns[4]));
c6.AddElement(new Phrase(columns[5]));
c7.AddElement(new Phrase(columns[6]));
table.Rows.Add(new PdfPRow(new PdfPCell[] { c1, c2, c3, c4, c5, c6, c7 }));
}
AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, table);
AddParagraph(doc, iTextSharp.text.Element.ALIGN_CENTER, _largeFont, new Chunk(con));
doc.Close();
}
private void AddParagraph(Document doc, int alignment, iTextSharp.text.Font font, iTextSharp.text.IElement content)
{
Paragraph paragraph = new Paragraph();
paragraph.SetLeading(0f, 1.2f);
paragraph.Alignment = alignment;
paragraph.Font = font;
paragraph.Add(content);
doc.Add(paragraph);
}
private Font _largeFont = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD, BaseColor.BLACK);
}
}
Это как мой файл выглядит сейчас:
https://postimg.org/image/vbn3ui2qh/
Я посмотрел на ваш код, и я не понимаю. Почему вы это делаете: 'table.Rows.Add (новый PdfPRow (новый PdfPCell [] {c1, c2, c3, c4, c5, c6, c7})):' Это не имеет никакого смысла, не так ли? Вы прочитали какую-либо документацию? (По-видимому, нет, иначе вы бы не использовали объект 'PdfPow'.) –