我遵循了垂直文本的 iText 示例:
http://1t3xt.info/examples/browse/?page=example&id=145
并创建了它的这个 C# 版本:
PdfReader reader = new PdfReader("existing.pdf");
PdfStamper stamp = new PdfStamper(reader, new FileStream("stamped.pdf", FileMode.Create));
// change the content on top of page 1
PdfContentByte cb = stamp.GetOverContent(1);
Rectangle psize = reader.GetPageSize(1);
float width = psize.Width;
float height = psize.Height;
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
VerticalText vt = new VerticalText(cb);
vt.SetVerticalLayout(width / 2, height / 2, height, 1, 0);
vt.AddText(new Phrase("Test", new Font(bf, 20)));
vt.Go();
stamp.Close();
它在页面上居中,好吧,但它不是垂直的 - 而是水平的(实际上从页面中心水平左对齐)。
我在这里做错了什么还是 iTextSharp 行为不端?