Tôi sử dụng thư viện ITextSharp để chuyển đổi html sang pdf. Người dùng của tôi sử dụng câu ngôn ngữ ba tư trong các tệp html của cô ấy, Vì vậy, thư viện này không thể chuyển đổi từ tiếng Ba Tư.Tạo pdf từ tệp html persian bởi ITextSharp
Đối với quyết tâm này và đúng cho vấn đề còn lại tôi sử dụng mã dưới đây:
Document document = new Document(PageSize.A4, 80, 50, 30, 65);
PdfWriter.GetInstance(document, new FileStream(strPDFpath, FileMode.Create));
document.Open();
ArrayList objects;
document.NewPage();
var stream = new StreamReader(strHTMLpath, Encoding.Default).ReadToEnd();
objects = iTextSharp.text.html.simpleparser.
HTMLWorker.ParseToList(new StreamReader(strHTMLpath, Encoding.UTF8), styles);
BaseFont bf = BaseFont.CreateFont("c:\\windows\\fonts\\Tahoma.ttf",
BaseFont.IDENTITY_H, true);
for (int k = 0; k < objects.Count; k++)
{
PdfPTable table = new PdfPTable(1);
table.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
var els = (IElement)objects[k];
foreach (Chunk el in els.Chunks)
{
#region set persian font
iTextSharp.text.Font f2 = new iTextSharp.text.Font(bf, el.Font.Size,
el.Font.Style, el.Font.Color);
el.Font = f2;
#endregion set persian font
#region Set right to left for persian words
PdfPCell cell = new PdfPCell(new Phrase(10, el.Content, el.Font));
cell.BorderWidth = 0;
table.AddCell(cell);
#endregion Set right to left for persian words
}
//document.Add((IElement)objects[k]);
document.Add(table);
}
document.Close();
Response.Write(strPDFpath);
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment; filename=" + strPDFpath);
Response.ContentType = "application/octet-stream";
Response.WriteFile(strPDFpath);
Response.Flush();
Response.Close();
if (File.Exists(strPDFpath))
{
File.Delete(strPDFpath);
}
phải vào My sang trái và chuyển đổi từ Ba Tư đã được giải quyết, nhưng nó có một vấn đề khác.
Thuật toán của tôi không thể phân tích cú pháp và chuyển đổi nội dung của thẻ bảng sử dụng trong tệp html.
Bây giờ câu hỏi là: Làm thế nào để phân tích cú pháp tệp html có thẻ bảng, thẻ div và đoạn bằng câu tiếng Ba Tư và chuyển đổi nó thành pdf?
"thuật toán của tôi không thể phân tích và chuyển đổi nội dung của thẻ bảng sử dụng trong file html . " - Có nghĩa là các đối tượng không chứa các bảng của tài liệu html gốc hoặc gì? – Roman
Xin chào Kia _Salam aziz;) _ xem liên kết này http://hasheminezhad.com/itextsharp – Shahin