Вы можете использовать ColumnText
и установить RunDirection
его в RUN_DIRECTION_RTL
:
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace iTextSharpTests
{
class Program
{
static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();
var fontPath = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\tahoma.ttf";
var baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
var tahomaFont = new Font(baseFont, 10, Font.NORMAL, BaseColor.BLACK);
ColumnText ct = new ColumnText(pdfWriter.DirectContent);
ct.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
ct.SetSimpleColumn(100, 100, 500, 800, 24, Element.ALIGN_RIGHT);
var chunk = new Chunk("تست", tahomaFont);
ct.AddElement(chunk);
ct.Go();
}
}
}
}
Я бы sugest вам itextsharp не используется. Я предлагаю вам использовать wkhtmltopdf, в котором вы можете создать html, чтобы выглядеть так, как хотите, и использовать его; любая настройка, которую вы сделаете в html (включая css), будет переведена в pdf. Это только мое мнение. Мы использовали itextsharp и сбрасывали его из-за его ограничений. – HellBaby
@HellBaby Спасибо. Я обязательно рассмотрю ваше предложение. Но сейчас мне нужно знать это. было бы неплохо, если бы вы могли помочь. –
в соответствии с этим: http://stackoverflow.com/a/7048709/1707033 вы можете установить его на элементе, который добавлен в документ. – HellBaby