asp.net itextsharp 将文件格式文件转换为 PDF

发布于 2024-12-27 14:07:00 字数 122 浏览 2 评论 0 原文

当我尝试使用代码使用itextsharp将文件格式文件转换为PDF时。转换用阿拉伯语编写的文本时会出现此问题。结果没有阿拉伯语的书面文本。 我希望你能帮助我克服这些问题。

非常感谢

When I tried to use the code to convert the file format files to PDF using itextsharp. The problem appears when converting texts written in Arabic. The result came without the written text in Arabic.
I hope you to help me overcome the problems.

Thank you very much

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半衾梦 2025-01-03 14:07:00

以下是该过程的摘要:

  • Paragraph 对象包装在两个 iText IElement 支持阿拉伯文本的类:PdfPCellColumnText
  • 使用具有阿拉伯字形的字体。
  • 设置文本运行方向和对齐方式。

像这样的内容:

using (Document document = new Document()) {
  PdfWriter writer = PdfWriter.GetInstance(document, STREAM);
  document.Open();
  string arabicText = @"
iText ® هي المكتبة التي تسمح لك لخلق والتلاعب وثائق PDF. فإنه يتيح للمطورين تتطلع الى تعزيز شبكة الإنترنت وغيرها من التطبيقات مع دينامية الجيل ثيقة PDF و / أو تلاعب.      
  ";
  PdfPTable table = new PdfPTable(1);
  table.WidthPercentage = 100;
  PdfPCell cell = new PdfPCell();
  cell.Border = PdfPCell.NO_BORDER;
  cell.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
  Font font = new Font(BaseFont.CreateFont(
    "c:/windows/fonts/arialuni.ttf",
    BaseFont.IDENTITY_H, BaseFont.EMBEDDED
  ));
  Paragraph p = new Paragraph(arabicText, font);
  p.Alignment = Element.ALIGN_LEFT;
  cell.AddElement(p);
  table.AddCell(cell);
  document.Add(table);
}

如果上面的示例文本质量不佳、不正确或两者兼而有之,我们深表歉意。我不得不使用谷歌翻译,因为我的母语是英语。

Here's a summary of the process:

  • Wrap Paragraph objects in one of the two iText IElement classes that support Arabic text: PdfPCell and ColumnText.
  • Use a font that has Arabic glyphs.
  • Set the text run direction and alignment.

Something like this:

using (Document document = new Document()) {
  PdfWriter writer = PdfWriter.GetInstance(document, STREAM);
  document.Open();
  string arabicText = @"
iText ® هي المكتبة التي تسمح لك لخلق والتلاعب وثائق PDF. فإنه يتيح للمطورين تتطلع الى تعزيز شبكة الإنترنت وغيرها من التطبيقات مع دينامية الجيل ثيقة PDF و / أو تلاعب.      
  ";
  PdfPTable table = new PdfPTable(1);
  table.WidthPercentage = 100;
  PdfPCell cell = new PdfPCell();
  cell.Border = PdfPCell.NO_BORDER;
  cell.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
  Font font = new Font(BaseFont.CreateFont(
    "c:/windows/fonts/arialuni.ttf",
    BaseFont.IDENTITY_H, BaseFont.EMBEDDED
  ));
  Paragraph p = new Paragraph(arabicText, font);
  p.Alignment = Element.ALIGN_LEFT;
  cell.AddElement(p);
  table.AddCell(cell);
  document.Add(table);
}

Sorry if the example text above is poor, incorrect, or both. I had to use Google translate, since my native language is English.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文