0

我正在将excel文件转换为pdf。Excel 文档具有比 A4 格式更大的宽度,我希望 excel 文件内容能够缩放并适合 A4 页面大小。

我试过下一个方法

Workbook workbook = new Workbook();
workbook.LoadFromFile(fullpath, ExcelVersion.Version2007);

Worksheet sheet = workbook.Worksheets[0];
PdfConverter pdfConverter = new PdfConverter(workbook);
sheet.ViewMode = ViewMode.Preview;
sheet.ZoomScalePageBreakView = 80;

PdfDocument pdfDocument = new PdfDocument();
pdfDocument.PageSettings.Size = PdfPageSize.A4;

PdfConverterSettings settings = new PdfConverterSettings();
settings.TemplateDocument = pdfDocument;
pdfDocument = pdfConverter.Convert(settings);

pdfDocument.SaveToFile("test.pdf");

我得到了 pdf 文档,其中一张纸分为几个部分并容纳在几个页面上,而不是理想的单页。有谁知道如何解决这个问题?任何帮助表示赞赏

4

2 回答 2

0

尝试使用以下代码缩小 excel 内容以适合 pdf 页面:

sheet.PageSetup.FitToPagesWide = 1;
sheet.PageSetup.FitToPagesTall = 1;
//......

或者:

Workbook workbook = new Workbook();
workbook.LoadFromFile(fullpath, ExcelVersion.Version2007);
workbook.ConverterSetting.SheetFitToPage = true;
workbook.SaveToFile("test.pdf", FileFormat.PDF);
于 2019-02-18T02:21:16.950 回答
0

为了将 Excel 保存为 A4 大小的 PDF,可能需要根据 excel 版本更改 excel 设置。

Microsoft.Win32.RegistryKey Keyxls = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Office\\16.0\\Excel\\Options", true);
if (Keyxls != null)
{
    Keyxls.SetValue("A4Letter", "0", Microsoft.Win32.RegistryValueKind.DWord);
    Keyxls.Close();
}
于 2021-12-11T07:13:35.830 回答