使用C#中的iTextSharp将PDF旋转90度

时间:2014-11-19 15:24:23

标签: c# pdf itextsharp

我正在尝试使用PDF进行冲压,需要将其旋转90度才能正确铺设?有人知道怎么做吗?似乎无法在网上找到它。

2 个答案:

答案 0 :(得分:10)

Rotate90Degrees示例使用PdfReader获取文档的实例,然后更改每个页面字典中的/Rotate值。如果没有此类条目,则会添加值为/Rotate的{​​{1}}条目:

90

完成此操作后,我们会使用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

这适用于iText Java。对于iTextSharp,将Java移植到C#很容易,因为术语是相同的。将一些小案例改为大写,如下所示:

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
reader.close();

这篇文章的问题部分中有一个或多或少相同的代码段:How to rotate PDF page with iTextSharp without causing error in ghostscript?

答案 1 :(得分:0)

对于C#编码器:

我用C#代码替换了布鲁诺的答案:

是的,它像咒符一样工作,您也可以将转数更改为180,270,等等

return g_i;