iTextSharp ColumnText.SetSimpleColumn Addtext вызывает ошибку в Adobe Reader X 10.1.5
Приведенный ниже код иллюстрирует проблему, возникшую у меня с iTextSharp. Все работает отлично. PDF-файл создан и отображается правильно на экране. Когда я печатаю PDF из Adobe Reader X, он выглядит совершенно правильно, но Adobe сообщает "На этой странице существует ошибка. Acrobat может отображать страницу неправильно. Пожалуйста, свяжитесь с человеком, который создал PDF документ, чтобы исправить проблему. "
К сожалению, файл должен быть прикреплен к электронному письму и отправлен клиентам. Сообщение об ошибке не выглядит хорошо, и я хочу исправить это. Это происходит во всех версиях Reader, которые я пробовал, включая 10.1.15, установленную сегодня.
У меня iTextSharp 5.3.4.0 под Windows 7 Pro SP1
private void writeTestDoc()
{
string fname = "test.pdf";
float textWidth = 500;
float leftMgn = 60;
float rubricTop = 720;
float leftPad = 5;
float topPad = 12;
float leading = 0;
BaseFont baseCalibri = BaseFont.CreateFont("c:/windows/fonts/calibri.ttf", BaseFont.WINANSI, true);
Font plainFont = new Font(baseCalibri, 11, Font.NORMAL);
Document document = new Document();
try
{
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(fname, FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
ColumnText ct = new ColumnText(cb);
float boxTop = rubricTop;
ct.SetSimpleColumn(leftMgn + leftPad, boxTop - topPad, leftMgn + textWidth, boxTop, leading, Element.ALIGN_CENTER);
ct.AddText(new Phrase("A test message", plainFont));
ct.Go();
cb.EndText();
document.Close();
}
catch (Exception ex)
{
writeFile("ERROR in writeTestDoc " + ex.Message);
}
}