Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用iTextSharp将PDF旋转90度#_C#_Pdf_Itextsharp - Fatal编程技术网

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

C# 在C中使用iTextSharp将PDF旋转90度#,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我试图使用PDF进行冲压,需要将其旋转90度才能正确放置?有人知道怎么做吗?似乎无法在线找到它。该示例使用PdfReader获取文档实例,然后更改每页字典中的/Rotate值。如果没有此类条目,则添加值为90的/Rotate条目: 最终PDF阅读器=新的PDF阅读器(来源); final int pageScont=reader.getNumberOfPages(); 对于(int n=1;n对于C#编码器: 我用C#代码替换了布鲁诺的答案: 是的,它就像一个魔咒,你也可以改变旋转数为18027

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

该示例使用
PdfReader
获取文档实例,然后更改每页字典中的
/Rotate
值。如果没有此类条目,则添加值为
90
/Rotate
条目:

最终PDF阅读器=新的PDF阅读器(来源);
final int pageScont=reader.getNumberOfPages();
对于(int n=1;n对于C#编码器:

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

是的,它就像一个魔咒,你也可以改变旋转数为180270,等等

            PdfReader reader = new PdfReader("Source.pdf");
            int pagesCount = reader.NumberOfPages;
            PdfDictionary page = reader.GetPageN(1);
            PdfNumber rotate = page.GetAsNumber(PdfName.ROTATE);
            page.Put(PdfName.ROTATE, new PdfNumber(90));
            FileStream fs = new FileStream("created.pdf", FileMode.Create, 
            FileAccess.Write, FileShare.None);
            PdfStamper stamper = new PdfStamper(reader, fs);

您可以将
PdfStamper
绑定到
PdfReader
,但在绑定之前,您可以使用
PdfReader
对象中提供的任何方法自由操作PDF。请参阅Java中的或C中非常类似但不完全相同的代码。因此,我在C中使用了此代码片段来旋转文档中的每个页面,然后使用page.GetBytes()获取流的字节,但如何将页面重新组合为表示文件的单个字节流?
PdfDictionary page = reader.GetPageN(1);
page.Put(PdfName.ROTATE, new PdfNumber(90));
            PdfReader reader = new PdfReader("Source.pdf");
            int pagesCount = reader.NumberOfPages;
            PdfDictionary page = reader.GetPageN(1);
            PdfNumber rotate = page.GetAsNumber(PdfName.ROTATE);
            page.Put(PdfName.ROTATE, new PdfNumber(90));
            FileStream fs = new FileStream("created.pdf", FileMode.Create, 
            FileAccess.Write, FileShare.None);
            PdfStamper stamper = new PdfStamper(reader, fs);