c# - 更改 itextsharp 表中的字体大小

标签 c# pdf itext

我正在尝试使用 iTextSharp 查看 PDF 文件中的表格。我已经想出了如何添加表格,并通过单击按钮打开 PDF 文件,但是表格字体太大,而且文字被包裹起来,难以阅读。我输入了这段代码,但表格字体没有任何变化。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlServerCe;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace Lewis_Warby_Airbrushing
{
    public partial class selectedorderForm : Form
    {
        public selectedorderForm(string strValue)
        {
            InitializeComponent();
            textBox1.Text = strValue;

        }
        DataTable dt;
        private void selectedorderForm_Load(object sender, EventArgs e)
        {
            SqlCeConnection con = new SqlCeConnection(@"Data Source=|DataDirectory|\LWADataBase.sdf;");
            SqlCeDataAdapter sda = new SqlCeDataAdapter("select * from orderTBL ", con);

            dt = new DataTable();
            sda.Fill(dt);
            dataGridView1.DataSource = dt;
            DataView dv = new DataView(dt);
            dv.RowFilter = "[Order Number] like '%" + textBox1.Text.Trim() + "%'";
            dataGridView1.DataSource = dv;
        }

        private void pdfBTN_Click(object sender, EventArgs e)
        {

            iTextSharp.text.Font fontTitle = FontFactory.GetFont("Arial", 18, iTextSharp.text.Font.BOLD, BaseColor.BLACK);


            Document doc = new Document(iTextSharp.text.PageSize.A4, 10, 10, 10, 10);


            PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("PurchaseOrder-"+textBox1.Text+".pdf", FileMode.Create));
            doc.Open();


            Paragraph title = new Paragraph("PURCHASE ORDER " + textBox1.Text +"\n Lewis Warby Airbrushing\n", fontTitle);
            title.Alignment = Element.ALIGN_CENTER;
            doc.Add(title);

            title.SpacingAfter = 15f;







            iTextSharp.text.Font fontTable = FontFactory.GetFont("Arial", 5, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

            PdfPTable table = new PdfPTable(dataGridView1.Columns.Count);
            table.SpacingBefore = 45f;
            table.TotalWidth = 216f;
            table.DefaultCell.Phrase = new Phrase() { Font = fontTable };

            for (int j = 0; j < dataGridView1.Columns.Count; j++)
            {
                table.AddCell(new Phrase(dataGridView1.Columns[j].HeaderText));

            }

            table.HeaderRows = 1;

            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                for (int k = 0; k < dataGridView1.Columns.Count; k++)
                {
                    if (dataGridView1[k, i].Value != null)
                    {
                        table.AddCell(new Phrase(dataGridView1[k, i].Value.ToString()));
                    }
                }
            }



            doc.Add(table);




            doc.Close();

            System.Diagnostics.Process.Start("PurchaseOrder-"+textBox1.Text+".pdf");


        }
    }
}

最佳答案

尝试向短语构造函数添加字体:

for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
    table.AddCell(new Phrase(dataGridView1.Columns[j].HeaderText,fontTable));

}

//..

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int k = 0; k < dataGridView1.Columns.Count; k++)
    {
         if (dataGridView1[k, i].Value != null)
         {
              table.AddCell(new Phrase(dataGridView1[k, i].Value.ToString(),fontTable));
         }
     }
}

查看此链接以获取有关 Chunkc、短语等的更多信息。http://www.mikesdotnetting.com/Article/82/iTextSharp-Adding-Text-with-Chunks-Phrases-and-Paragraphs

关于c# - 更改 itextsharp 表中的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23598192/

相关文章:

java - 填充动态 XFA pdf 表单 itext

c# - 在c#中查找pdf文件中字符串的页码

c# - 通过 White 访问 DataGridView 单元格

C# .NET : if ((e. State & ListViewItemStates.Selected) != 0) <- 这是什么意思?

c# - VS2012 和 VS2015 浮点/ double 转换的区别

php - window.open向php传递参数并触发pdf创建和查看

C# 多线程应用程序和 SQL 连接帮助

php - 将 HTML 表单提交为 PDF

java - 如何使用第三方字体从 Unicode 字符集语言创建 PDF 文档

c# - 使用 itextSharp 在 Chunk 中制表符