我试图添加页脚文本到每个pdf页面使用PDFsharp库。使用XGraphics和下面的代码可以很好地工作:
gfx.DrawString(footerText, font, XBrushes.Blue, new XPoint(10, newPage.Height - 10));直到我得到pdfs的页面,其中的Rotate参数不是0。
当然,所有的脚都应该在左下角。我试着用
gfx.RotateTransform(-newPage.Rotate);但我不确定该用哪个坐标。我认为,这应该是一个简单的方法,将页脚放在左下角的每一种情况。有人知道吗?
发布于 2022-05-20 13:25:41
我用这个方法解决了这件事:
// offset from left bottom corner = 10
int rotateAngle = 0;
XPoint point = new XPoint(10, newPage.Height - 10);
// Rotate text, if page is rotated
switch (newPage.Rotate)
{
case PAGE_ROTATION_090: // Rotate = 90
rotateAngle = -newPage.Rotate;
point = new XPoint(10-newPage.Height, newPage.Height-10);
break;
case PAGE_ROTATION_270: // Rotate = 270
rotateAngle = -newPage.Rotate;
point = new XPoint(10 + newPage.Height-newPage.Width, -10);
break;
}
gfx.RotateTransform(rotateAngle);
gfx.DrawString(footerText, font, XBrushes.Blue, point);但我很确定,应该有更优雅的解决方案。
https://stackoverflow.com/questions/72316043
复制相似问题