C# 将Excel另存为PDF将所有内容放入一个页面不起作用

C# 将Excel另存为PDF将所有内容放入一个页面不起作用,c#,excel,pdf,C#,Excel,Pdf,作为项目的一部分,我需要将一些Excel单元格保存为PDF文件,使所有内容都可以放在一个页面中。如果有超过一页的数据,需要很好地修剪并转到第二页 我的代码将Excel文件保存为PDF格式,但现在有8个页面,数据显示得很大,页面的每个边缘都有很多空格。 此外,并非所有列都适合一页。这就像第一页有A列到G列,然后在其他页面中,我看到H列到M列,但这不是我想要的 var excelPath = "My Excel file path.xlsx"; //Excel file p

作为项目的一部分,我需要将一些Excel单元格保存为PDF文件,使所有内容都可以放在一个页面中。如果有超过一页的数据,需要很好地修剪并转到第二页

我的代码将Excel文件保存为PDF格式,但现在有8个页面,数据显示得很大,页面的每个边缘都有很多空格。 此外,并非所有列都适合一页。这就像第一页有A列到G列,然后在其他页面中,我看到H列到M列,但这不是我想要的

var excelPath = "My Excel file path.xlsx";    //Excel file path
var pdfPath = "My PDf file path.pdf";  //Pdf file path
var sheetName = "25. Data";  //Excel sheet name to get data from 
var printRange = "A1:M70";  //Area that needs to be included in PDF

Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
var wb = app.Workbooks.Open(excelPath);

Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[sheetName];
ws.PageSetup.Orientation = xlPageOrientation.xlLandscape;
ws.PageSetup.PrintArea = printRange;
ws.PageSetup.FitToPagesWide = 1;
ws.PageSetup.FitToPagesTall = false;
wb.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, pdfPath);

有人能告诉我这个代码出了什么问题吗???

找到了答案。我不知道为什么,但是默认情况下,
PageSetup.Zoom
被设置为100。添加

ws.PageSetup.Zoom = false;
修正了这个问题。Microsoft page表示,如果此值设置为
true
FitToPagesTall
FitToPagesWide
将被忽略