2
我研究了这一点,并试图旋转单页PDF的内容。我可以旋转页面90,180或270度。我不想旋转页面,而是旋转内容。旋转PDF页面的内容,而不是实际的页面
这里是到目前为止,我已经适应了方法:
public static byte[] RotatePdf(byte[] fileBytes, int degreesClockwise)
{
if (degreesClockwise % 90 != 0)
throw new ApplicationException(string.Format("degreesClockwise must be 0, 90, 180, 360: {0}", degreesClockwise));
PdfReader reader = new PdfReader(fileBytes);
using (var fs = new MemoryStream())
{
PdfStamper stamper = new PdfStamper(reader, fs);
PdfDictionary pageDict = reader.GetPageN(1);
int desiredRotation = degreesClockwise; // x degrees clockwise from what it is now
PdfNumber rotation = pageDict.GetAsNumber(PdfName.ROTATE);
if (rotation != null)
{
desiredRotation += rotation.IntValue;
desiredRotation %= 360; // must be 0, 90, 180, or 270
}
pageDict.Put(PdfName.ROTATE, new PdfNumber(desiredRotation));
stamper.Close();
return fs.ToArray();
}
}
任何建议,将不胜感激。
嗯,这是怎么代码不完整?即它现在取得了什么成就?这与你想要的有何不同? – millimoose
*我不想旋转页面,而是内容* - 有什么区别? – mkl
@millimoose代码旋转页面方向和内容。我想要的方向保持不变,但旋转90度的内容。 – Seany84