我正在尝试使用PDF进行冲压,需要将其旋转90度才能正确铺设?有人知道怎么做吗?似乎无法在网上找到它.
解决方法
Rotate90Degrees示例使用PdfReader获取文档的实例,然后更改每个页面字典中的/ Rotate值.如果没有此类条目,则添加值为90的/ Rotate条目:
@H_502_6@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来保持更改:
@H_502_6@PdfStamper stamper = new PdfStamper(reader,new FileOutputStream(dest)); stamper.close(); reader.close();这适用于iText Java.对于iTextSharp,将Java移植到C#很容易,因为术语是相同的.将一些小案例改为大写,如下所示:
@H_502_6@PdfDictionary page = reader.GetPageN(1); page.Put(PdfName.ROTATE,new PdfNumber(90));在这篇文章的问题部分中有一个或多或少相同的代码片段:How to rotate PDF page with iTextSharp without causing error in ghostscript?