Hello,
We use your first demo code for .Net PDF - Alphabetical List of Products.
In the DataTable we put hebrew text. The problem is that the hebrew text is displayed in wrong way: the letters are displayed from the end of the word to the beggining of the word.
Asample code is attached.
Please, advice.
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = CreateDataTable();
Pdf pdf = new Pdf();
string xmlFileName = Server.MapPath("~/XML/schema.xml");
string resultFileName = Server.MapPath("~/XML/result.pdf");
pdf.BindXML(xmlFileName, null);
pdf.IsRightToLeft = true;
pdf.IsRtlInSegmentMode = true;
pdf.IsTruetypeFontMapCached = true;
pdf.TruetypeFontMapPath = Path.GetTempPath();
Section section = pdf.Sections["section1"];
Text dateText = (Text)section.Paragraphs["DateText"];
Segment dateSeg = dateText.Segments["DateSec"];
DateTime dateTime = DateTime.Now;
dateSeg.Content = dateTime.ToString("d", DateTimeFormatInfo.InvariantInfo);
AddTable(pdf, section, dt);
pdf.Save("resultTable.pdf", SaveType.OpenInAcrobat, Response);
Response.End();
}
private DataTable CreateDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("מספר", typeof(string));
dt.Columns.Add("שם החברה", typeof(string));
dt.Rows.Add("אחד", "גולן");
dt.Rows.Add("שניים", "דניאל");
return dt;
}
private void AddTable(Pdf pdf, Section sec, DataTable dt)
{
Aspose.Pdf.TextInfo textInfo = new Aspose.Pdf.TextInfo();
//textInfo.FontName = "Arial Unicode MS";
textInfo.IsRightToLeft = true;
textInfo.IsUnicode = true;
textInfo.Alignment = AlignmentType.Right;
Aspose.Pdf.Table newTable = new Aspose.Pdf.Table();
newTable.DefaultCellTextInfo = textInfo;
sec.Paragraphs.Add(newTable);
newTable.IsBroken = false;
newTable.DefaultCellTextInfo.FontSize = 9;
newTable.ColumnWidths = "50 200 250";
newTable.Border = new BorderInfo((int)(BorderSide.Top | BorderSide.Bottom), 1F);
Row row1 = newTable.Rows.Add();
//row1.Cells.Add(letter);
newTable.ImportDataTable(dt, true, 1, 1);
}