gpt4 book ai didi

c# - 如何使用 Itextsharp 从 Mysql 获取 UTF8 字符并将其存储到 C# 程序中的 PDF 中?

转载 作者:行者123 更新时间:2023-11-30 00:32:39 34 4
gpt4 key购买 nike

我有 UTF8 编码的 Mysql 数据库,我可以在 PHP MyAdmin 中看到我的记录适本地。我还可以使用此数据库和 c# prog 在 google crome 上生成 o/p。我正在使用 Itextsharp dll 生成 pdf。我想将数据库中的数据存储为 devnagri 中的 pdf 格式。我尝试设置字体,因为我发现了很多相关教程。设置字体适用于硬编码字符串,但不适用于数据库。

 public Example1()
{
string appRootDir = new DirectoryInfo(Environment.CurrentDirectory).Parent.Parent.FullName;
try
{
// Step 1: Creating System.IO.FileStream object
using (FileStream fs = new FileStream(appRootDir + "/PDFs/" + "Chapter1_Example1.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
// Step 2: Creating iTextSharp.text.Document object
using (Document doc = new Document())
// Step 3: Creating iTextSharp.text.pdf.PdfWriter object
// It helps to write the Document to the Specified FileStream
using (PdfWriter writer = PdfWriter.GetInstance(doc, fs))
{
// Step 4: Openning the Document
doc.Open();


MySqlDataReader reader = null;
string connectionString = @"Data Source=localhost; Database=Records; User ID=root; Password=''";
using (MySql.Data.MySqlClient.MySqlConnection cs = new MySql.Data.MySqlClient.MySqlConnection(connectionString))
{
string sqlText = "Select * from app";
cs.Open();

MySqlCommand cmd = new MySqlCommand(sqlText, cs);
// var font = FontFactory.GetFont(BaseFont.)
BaseFont bf = BaseFont.CreateFont("C:\\Windows\\Fonts\\cprkshn.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

//Create a specific font object
Font f = new Font(bf, 12, Font.NORMAL);

reader = cmd.ExecuteReader();
while (reader.Read())
{
//String s = reader["name"].ToString();

doc.Add(new Paragraph(reader["id"] + "---" + reader["name"].ToString() + "¶ããñ‡ãŠÀãè", f));
}
}

// Step 5: Adding a paragraph
// NOTE: When we want to insert text, then we've to do it through creating paragraph


// Step 6: Closing the Document
doc.Close();
}
}
// Catching iTextSharp.text.DocumentException if any
catch (DocumentException de)
{
throw de;
}
// Catching System.IO.IOException if any
catch (IOException ioe)
{
throw ioe;
}
}
}

最佳答案

您应该配置您的连接 - 设置字符集 UTF8。您可以使用此 MySQL 命令来完成此操作 -

SET NAMES utf8;

在打开连接后首先运行此命令。

此外,您可以配置连接字符串,尝试添加Character Set=utf8。结果连接字符串可以是这样的 -

string connectionString = "Data Source=localhost; Database=Records; User ID=root; Password=''; Character Set=utf8";

关于c# - 如何使用 Itextsharp 从 Mysql 获取 UTF8 字符并将其存储到 C# 程序中的 PDF 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22398673/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com