gpt4 book ai didi

pdf - HTML转PDF土耳其语字符问题

转载 作者:行者123 更新时间:2023-12-01 09:08:28 24 4
gpt4 key购买 nike

我想使用 ITextSharp 将 ASP.NET 网页转换为 pdf。我确实写了一些代码,但我无法让它显示土耳其语字符。谁能帮我?

这是代码:

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

using System.Web.UI;
using System.Web;
using iTextSharp.text.html.simpleparser;
using System.Text;
using System.Text.RegularExpressions;

namespace Presentation
{
public partial class TemporaryStudentFormPrinter : System.Web.UI.Page
{
protected override void Render(HtmlTextWriter writer)
{
MemoryStream mem = new MemoryStream();
StreamWriter twr = new StreamWriter(mem);
HtmlTextWriter myWriter = new HtmlTextWriter(twr);
base.Render(myWriter);
myWriter.Flush();
myWriter.Dispose();
StreamReader strmRdr = new StreamReader(mem);
strmRdr.BaseStream.Position = 0;
string pageContent = strmRdr.ReadToEnd();
strmRdr.Dispose();
mem.Dispose();
writer.Write(pageContent);
CreatePDFDocument(pageContent);
}
public void CreatePDFDocument(string strHtml)
{
string strFileName = HttpContext.Current.Server.MapPath("test.pdf");
Document document = new Document(PageSize.A4, 80, 50, 30, 65);
PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));

StringReader se = new StringReader(strHtml);
HTMLWorker obj = new HTMLWorker(document);

document.Open();

obj.Parse(se);
document.Close();
ShowPdf(strFileName);
}
public void ShowPdf(string strFileName)
{
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "inline;filename=" + strFileName);
Response.ContentType = "application/pdf";
Response.WriteFile(strFileName);
Response.Flush();
Response.Clear();
}

protected void Page_Load(object sender, EventArgs e)
{

}
}
}

最佳答案

iTextSharp.text.pdf.BaseFont STF_Helvetica_Turkish = iTextSharp.text.pdf.BaseFont.CreateFont("Helvetica", "CP1254", iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED);

iTextSharp.text.Font fontNormal = new iTextSharp.text.Font(STF_Helvetica_Turkish, 12, iTextSharp.text.Font.NORMAL);

您应该在 itextsharp 操作命令中将字体作为参数传递,如下所示:
pdftable.AddCell(new Phrase(nn.InnerText.Trim(), fontNormal));

您可能需要考虑使用具有 pdf 导出功能的报告工具,而不是直接使用 pdf 来处理这可能是一个真正令人头疼的问题。

关于pdf - HTML转PDF土耳其语字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023118/

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