使用C#中的iTextSharp将PDF旋转90度
我正在尝试使用PDF进行冲压,需要将其旋转90度才能正确铺设? 有人知道怎么做吗? 似乎无法在网上找到它。
PdfReader
示例使用PdfReader
获取文档的实例,然后更改每个页面字典中的/Rotate
值。 如果没有此类条目,则添加值为90
的/Rotate
条目:
final PdfReader reader = new PdfReader(source); final int pagesCount = reader.getNumberOfPages(); for (int n = 1; n <= pagesCount; n++) { final PdfDictionary page = reader.getPageN(n); final PdfNumber rotate = page.getAsNumber(PdfName.ROTATE); final int rotation = rotate == null ? 90 : (rotate.intValue() + 90) % 360; page.put(PdfName.ROTATE, new PdfNumber(rotation)); }
完成后,我们使用PdfStamper
来保持更改:
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.close(); reader.close();
这适用于iText Java。 对于iTextSharp,将Java移植到C#很容易,因为术语是相同的。 将一些小案例改为大写,如下所示:
PdfDictionary page = reader.GetPageN(1); page.Put(PdfName.ROTATE, new PdfNumber(90));
在这篇文章的问题部分中有一个或多或少相同的代码片段: 如何使用iTextSharp旋转PDF页面而不会导致ghostscript中的错误?