C# 以字节数组的形式获取现有pdf,然后在c中将其旋转为A4#

C# 以字节数组的形式获取现有pdf,然后在c中将其旋转为A4#,c#,pdf,reporting-services,itext,C#,Pdf,Reporting Services,Itext,我有一个由SSRS制作的pdf。我需要将此pdf作为字节数组获取,然后将整个pdf保存为A4.0格式 我尝试 string say ="hello world"; byte [] pdfArr=Encoding.UTF8.GetBytes(say) var doc = new Document(iTextSharp.text.PageSize.A4_Landscape.Rotate()); string path = Environment.CurrentDirectory; PdfWrite

我有一个由SSRS制作的pdf。我需要将此pdf作为字节数组获取,然后将整个pdf保存为A4.0格式

我尝试

string say ="hello world";
byte [] pdfArr=Encoding.UTF8.GetBytes(say) 
var doc = new Document(iTextSharp.text.PageSize.A4_Landscape.Rotate());
string path = Environment.CurrentDirectory;
PdfWriter.GetInstance(doc, new FileStream(path,"/pdfdoc.pdf",FileMode.Create));
doc.Open();
doc.Add(new Paragraph(Encoding.UTF8.GetString(pdfArr)));
doc.Close();
Process.Start(path+"/pdfdoc.pdf");
当我用iTextsharp创建新的pdf时,上面的代码工作得很好,但是当我尝试SSRS pdf时,pdf的内部充满了无意义的字符

我也知道,我可以通过PDFReader一页一页地阅读和旋转页面,但我不想阅读页面。因为reports表太长,所以它分为几页,我不知道一个表应该包含多少页,所以我的主要目标是将它们作为一个表显示在horizantal(横向)中

欢迎任何建议或代码片段。 无论如何,谢谢你


编辑:正如我在上面一段中所解释的,我不能使用pdfReader或其他东西来获取页面,因为我不想将每个页面都更改为横向,我也不能。这不符合我的目的。我只是想把pdf创建成一幅风景画,这样所有的表格和数据都可以在一个页面上看到。

如果它充满了无意义的字符,我猜你的编码有什么地方错了。它充满了无意义的字符,因为pdf是二进制格式。您不能只获取字节并重新创建文本。可能是@AmedeeVanGasse的副本,谢谢您的帮助,但它不能满足我的要求。你的问题是关于一页接一页的。我的问题不是将它们单独旋转,创建新的pdf作为风景。。无论如何,谢谢。我不想让你失望,但是这个问题仍然有一个有效的答案。您可以通过更改页面字典中的
/Rotate
键来更改页面的旋转。请参见该问题中代码示例的第28行。