C# 将Excel转为PDF时自定义表格纸张大小
通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均。要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页面表格布局效果。下面是具体方法和步骤。
引入dll
在Visual Studio中,打开“解决方案资源管理器”,鼠标右键点击“引用”,
1.通过NuGet安装dll(2种方法)
1.1 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索Spire.XLS安装。
1.2 将以下内容复制到PM控制台安装。
Install-Package Spire.XLS -Version 11.11.2
2.手动添加dll引用
可通过手动下载包,然后解压,找到BIN文件夹下的Spire.Xls.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”将本地路径BIN文件夹下的dll文件添加引用至程序。
代码及转换设置
代码思路:
1.实例化Workbook类的对象,然后调用Workbook.LoadFromFile(string fileName)方法加载Excel文档。
2.通过 Workbook.Worksheets属性获取Worksheet类的的对象,即获取工作表
3.通过PageSetup.SetCustomPaperSize(float width, float height)方法自定义表格宽度及高度。
4.最后,调用Workbook.SaveToFile(string fileName, FileFormat fileFormat)方法保存为PDF格式。
C#
using Spire.Xls; namespace ExcelToPDFwithCustomPageSize
{
class Program
{
static void Main(string[] args)
{
//实例化Workbook类的对象
Workbook workbook = new Workbook(); //加载Excel测试文档
workbook.LoadFromFile("test.xlsx"); //遍历工作表
for(int i=0; i<workbook.Worksheets.Count;i++)
{
Worksheet sheet = workbook.Worksheets[i]; //自定义纸张大小
sheet.PageSetup.SetCustomPaperSize(620,310); //保存为PDF格式
workbook.SaveToFile("ToPDF.pdf", FileFormat.PDF);
} }
}
}
VB.NET
Imports Spire.Xls Namespace ExcelToPDFwithCustomPageSize
Class Program
Private Shared Sub Main(args As String())
'实例化Workbook类的对象
Dim workbook As New Workbook() '加载Excel测试文档
workbook.LoadFromFile("test.xlsx") '遍历工作表
For i As Integer = 0 To workbook.Worksheets.Count - 1
Dim sheet As Worksheet = workbook.Worksheets(i) '自定义纸张大小
sheet.PageSetup.SetCustomPaperSize(620, 310) '保存为PDF格式
workbook.SaveToFile("ToPDF.pdf", FileFormat.PDF)
Next End Sub
End Class
End Namespace
通过设置不同的宽度和高度,在转换后可呈现不同效果,如图:

注意事项
- 代码中的Excel和PDF路径为的VS程序的Debug路径,如本次路径为:F:\VS2017Project\ExceltoPDF\ExcelToPDFwithCustomPageSize\bin\Debug\test.xlsx ,文件路径自定义为其他路径。
- 注意这里引入的是spire.xls.dll v11.11.2版本。转换前的页面大小设置为该版本中写入的新功能,在旧版本和免费版本中暂不支持。
C# 将Excel转为PDF时自定义表格纸张大小的更多相关文章
- C# 将Excel转为PDF时设置内容适应页面宽度
		将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小:如果Excel表格数据的设计或布局比较宽或者数据内较少的情况,转出来的PDF要么会将原本的一个表格分割显示在两个页面,或 ... 
- Java 基于Spire.Cloud.Excel 将Excel转为PDF
		Spire.Cloud.Excel Sdk 提供GeneralApi接口和WorkbookApi接口,支持将本地Excel和云端Excel文档转换为ODS, PDF, XPS, PCL, PS等格式. ... 
- Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j
		Java实现windows,linux服务器word,excel转为PDF:aspose-words,Documents4j 一.通过aspose-words将word,Excel文档转为PDF 1. ... 
- Java 将Excel转为PDF
		本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF 使用工具:Free Spire.XLS for Java (免费版) Ja ... 
- C#中使用自定义的纸张大小
		using System.Drawing.Printing; using System.Drawing; private void Test() { PrintDocument m_pdoc = ne ... 
- Java 将Excel转为SVG的方法
		本文以Java示例展示如何将Excel文档转为SVG格式.通过本文中的方法,在将Excel转为SVG时,如果sheet工作表中手动设置了分页,则将每个分页的内容单独保存为一个svg文件,如果sheet ... 
- Java 将Excel转为XML
		可扩展标记语言(XML)文件是一种标准的文本文件,它使用特定的标记来描述文档的结构以及其他特性.通常,我们可以通过格式转换的方式来得到XML格式的文件.本文,将通过Java代码介绍如何实现由Excel ... 
- java 实现Word或Excel 转Pdf
		1:首先需要引入相关的jar word转pdf需要引入 aspose-words-15.8.0-jdk16.jar 下载JAR包 Word http://note.youdao.com/notesha ... 
- 多页Excel转换成PDF时如何保存为单独文件
		通过ABBYY PDF Transformer+图文识别软件,使用PDF-XChange打印机将多页Excel工作簿转换成PDF文档(相关文章请参考ABBYY PDF Transformer+从MS ... 
随机推荐
- Java(3)基本数据类型及其类型转换
			作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201501.html 博客主页:https://www.cnblogs.com/testero ... 
- Java(34)IO流之字符流
			作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228453.html 博客主页:https://www.cnblogs.com/testero ... 
- 学大数据一定要会Java开发吗?
			Java是目前使用广泛的编程语言之一,具有的众多特性,特别适合作为大数据应用的开发语言.Java语言功能强大和简单易用,不仅吸收了C++语言的各种优点还摒弃了C++里难以理解的多继承.指针等概念. J ... 
- django  1.11.16之环境搭建
			django版本:django1.11.16 windows环境 python 3.6.3 !!!可先安装虚拟环境在进行环境搭建 1.安装django:pip install django= ... 
- HCIP-RSTP
			端口角色 根端口(RP): 非根桥收到最优的BPDU配置信息的端口为根端口,(到根桥开销最小的端口),根桥没有根端口. 指定端口(DP): 两非根交换机之间连接的两个端口必有一个为指定端口,比较两个非 ... 
- SPI在JDBC中的运用
			前言 之前学习了JDK SPI的机制,本文专门讨论2个内容: 1.为什么在使用SPI后,不需要Class.forName()了? 2.SPI在JDBC中的运用. JDBC模板代码 private st ... 
- 《Spring源码深度解析》学习笔记——Spring的整体架构与容器的基本实现
			pring框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块,如下图所示 这些模块被总结为以下几个部分: Core Container Core Container(核心容器)包含有C ... 
- [no_code][Beta]发布声明报告
			$( "#cnblogs_post_body" ).catalog() 软件下载 一个全新的超简易的OCR表单识别工具 轻松拍照,实现手写表格识别 一键打开,支持多种应用打开你的表 ... 
- UltraSoft - Alpha - Postmortem 事后分析
			Alpha阶段 Postmortem会议 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 主要是解决DDL提醒功能的问题,定义的比较清楚,对典型用户和典 ... 
- ssh后门反向代理实现内网穿透
			如图所示,内网主机ginger 无公网IP地址,防火墙只允许ginger连接blackbox.example.com主机 假如你是ginger的管理员root,你想要用tech主机连接ginger主机 ... 
