冰蓝科技
|
028-81705109
|
|
微信扫一扫
|

Spire.Cloud 纯前端文档控件

Spire.PDF for Java 4.6.8已发布。该版本支持合并PDF文档后保存到流,增强了转换PDF到图片/Excel流的功能。同时,本次更新还修复了替换图片时出现的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.PDF for Java 4.6.8请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDF-JAVA.html

C#将Word转为PDF

将Word文档转换为PDF是许多C#应用程序中的常见需求,但依赖于Microsoft Office Interop可能会显得繁琐且低效。幸运的是,像Spire.Doc for .NET这样的第三方库提供了一种强大且无缝的替代方案,可以高质量地进行转换,而 无需依赖Interop 。无论是需要 保留格式 、 用密码保护PDF ,还是 优化文件大小 ,Spire.Doc都能提供灵活的解决方案,代码量极少。

在本指南中,我们将探讨如何使用Spire.Doc在 C#中将Word转换为PDF ,涵盖基本转换、高级自定义和最佳实践,以获得最佳效果。

用于将Word转换为PDF的C# .NET库

Spire.Doc for .NET是一个功能强大的API,允许开发者以编程方式创建、编辑和转换Word文档。它支持将Word(DOC、DOCX)转换为PDF,同时保留格式、图像、超链接等元素。

使用Spire.Doc,您可以获得以下优势:

  • 高保真转换 ,格式损失极小
  • 支持生成密码保护的PDF
  • 可 自定义PDF设置 (如PDF/A合规性、字体嵌入等)
  • 批量转换多个Word文件

开始前,请从官网下载Spire.Doc并将DLL引用到您的项目中。或者,您可以通过以下NuGet命令安装它:

PM> Install-Package Spire.Doc

将DOCX转换为PDF的基本步骤

使用默认设置将Word文档转换为PDF非常简单,以下示例展示了如何加载一个DOCX文件并将其保存为PDF:

using Spire.Doc;

namespace ConvertWordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个Document对象
            Document doc = new Document();

            // 加载Word文档
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");

            // 将文档保存为PDF
            doc.SaveToFile("ToPDF.pdf", FileFormat.PDF);

            // 释放资源
            doc.Dispose();
        }
    }
}

结果:

Word以及通过C#转换成的PDF效果图

转换Word到PDF的高级选项

为了更好地控制转换过程,Spire.Doc提供了ToPdfParameterList类。使用此类,您可以:

  • 转换为PDF/A(标准化的档案格式)
  • 应用密码保护和权限限制
  • 嵌入字体以确保一致的渲染
  • 保留书签以便于导航
  • 如有必要,禁用超链接

以下是可用选项的总结:

选项 实现方式
转换为PDF/A PdfConformanceLevel
用密码保护PDF PdfSecurity
限制权限(例如,打印) PdfSecurity
嵌入所有字体 IsEmbeddedAllFonts
嵌入特定字体 EmbeddedFontNameList
保留书签 CreateWordsBookmarks
从标题创建书签 CreateWordBookmarksUsingHeadings
禁用超链接 DisableLink

示例 1:将Word转换为密码保护的PDF

以下代码通过设置打开密码对输出的PDF文件进行加密,确保文档免受未经授权的访问:

using Spire.Doc;

namespace ConvertWordToPasswordProtectedPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个Document对象
            Document doc = new Document();

            // 加载Word文档
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");

            // 创建一个ToPdfParameterList对象
            ToPdfParameterList parameters = new ToPdfParameterList();

            // 设置打开密码
            parameters.PdfSecurity.Encrypt("openPsd");

            // 将Word保存为PDF
            doc.SaveToFile("PasswordProtected.pdf", parameters);

            // 释放资源
            doc.Dispose();
        }
    }
}

结果:

打开加密后的PDF文档时提示输出密码

示例 2:嵌入字体到生成的PDF

以下代码将Word文档中使用的所有字体嵌入生成的PDF中,确保文档在任何查看者的系统字体下都能保持其预期外观:

using Spire.Doc;

namespace EmbedFonts
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个Document对象
            Document doc = new Document();

            // 加载Word文档
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");

            // 创建一个ToPdfParameterList对象
            ToPdfParameterList parameters = new ToPdfParameterList();

            // 在生成的PDF中嵌入Word中使用的所有字体
            parameters.IsEmbeddedAllFonts = true;

            // 将文档保存为PDF
            doc.SaveToFile("EmbedFonts.pdf", parameters);

            // 释放资源
            doc.Dispose();
        }
    }
}

结果:

被嵌入字体的PDF文档

调整Word文档以获得最佳转换效果

为了实现最佳的PDF输出,您可能需要在转换之前准备您的Word文档。考虑以下调整:

示例:通过压缩图像减少PDF大小

以下代码将图像质量降低到50%,从而生成更小的PDF:

using Spire.Doc;

namespace SetImageQualityWhenConverting
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个Document对象
            Document doc = new Document();

            // 加载Word文档
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");

            // 将图像质量降低到50%
            doc.JPEGQuality = 50;

            // 将文档保存为PDF
            doc.SaveToFile("CompressImage.pdf", FileFormat.PDF);

            // 释放资源
            doc.Dispose();
        }
    }
}

结论

在C#中将Word文档转换为PDF并不复杂——Spire.Doc for .NET简化了这一过程,并提供了广泛的自定义选项。从基本转换到高级功能,如PDF加密、字体嵌入和图像压缩,全部无需Interop。

通过遵循本指南中概述的技术,您可以高效地将Word到PDF的功能集成到您的应用程序中。如需进一步帮助,请查阅Spire.Doc的在线教程或利用其免费试用版测试其功能。

常见问题

Q1:如何在C#中将多个Word文件批量转换为PDF?

您可以在代码中创建一个循环来一次处理多个文件。例如:

string[] files = Directory.GetFiles("input_folder", "*.docx");
foreach (string file in files)
{
    Document document = new Document();
    document.LoadFromFile("Sample.docx");
    document.SaveToFile(Path.ChangeExtension(file, ".pdf"), FileFormat.PDF);
    document.Dispose();
}

Q2:如何将多个Word文件合并为一个PDF?

您可以先合并Word文件(使用Spire.Doc),然后将合并后的文档转换为PDF。例如:

Document mergedDoc = new Document();
string[] filesToMerge = Directory.GetFiles("input_folder ", "*.docx");
foreach (string file in filesToMerge)
{
    mergedDoc.InsertTextFromFile(file, FileFormat.Docx);
}
mergedDoc.SaveToFile("Merged.pdf", FileFormat.PDF);
mergedDoc.Dispose();

Q3:为什么我转换的PDF缺少文本或格式?

这个问题可能是由于系统缺少自定义字体导致的。为了解决此问题,请在执行转换的机器上安装所需的字体。或者,您可以在使用Spire.Doc进行转换时直接将字体嵌入PDF中。

Q4:如何将PDF转回Word文件?

我司提供另外一个产品Spire.PDF for .NET,支持将PDF转回Word,请参考:如何使用C#将PDF转换为Word

申请临时License

如果您需要去除生成文档中的评估提示或解除功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。

Spire.Office 6.6已发布。本次更新带来一些新的功能,比如:Spire.PDF 支持转换 PDF 为透明背景的图片,同时还支持PDF签名添加时间戳时设置用户名和密码;Spire.XLS支持转换 Excel 到 PDF 时指定字体目录;Spire.Doc 支持添加跨整个页面的横线等等。同时,该版本还修复了大量已知问题。详情请阅读以下内容。

该版本涵盖了最新版的Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, Spire.Email, Spire.DocViewer, Spire.PDFViewer, Spire.Spreadsheet, Spire.OfficeViewer, Spire.DataExport, Spire.Barcode。

版本信息如下:

获取Spire.Office 6.6请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-NET.html


Spire.PDF

新功能:

问题修复:


Spire.XLS

新功能:

问题修复:


Spire.Doc

新功能:

问题修复:


Spire.Presentation

问题修复:


Spire.PDFViewer

问题修复:


Spire.OfficeViewer

问题修复:

Spire.Office for Java 4.6.3已发布。本次更新带来了一些新功能,比如:Spire.Doc for Java支持转换了Word 到 TIFF的功能;Spire.Presentation for Java优化了合并文档花费的时间。此外,该版本还修复了大量问题。详情请阅读以下内容。

获取Spire.Office for Java 4.6.4请点击:

https://www.e-iceblue.cn/Downloads/Spire-Office-JAVA.html


Spire.Doc for Java

新功能:

问题修复:


Spire.Presentation for Java

优化:

问题修复:

Spire.OfficeViewer 6.6已发布。本次更新主要修复了Word水印显示不完整的问题。详情请阅读以下内容。

问题修复:


获取Spire.OfficeViewer 6.6请点击:

https://www.e-iceblue.cn/Downloads/Spire-OfficeViewer-NET.html

Spire.Doc 9.6.10已发布。该版本增强了转换Word到PDF的功能并且修复了打印和加载Word文档时出现的问题。详情请阅读以下内容。

问题修复:


获取Spire.Doc 9.6.10请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html

Spire.Doc for Java 4.6.2已发布。该版本支持了转换Word到TIFF的功能,修复了转换Word到PDF/图片/XML的功能。此外,本次更新还修复了添加公司不正确的问题。详情请阅读以下内容。

新功能:

问题修复:


获取Spire.Doc for Java 4.6.2请点击:

https://www.e-iceblue.cn/Downloads/Spire-Doc-JAVA.html

Spire.PDF for Android via Java 3.6.2已发布。本次更新主要修复了给PDF文档添加标注失败的问题。详情请阅读以下内容。

问题修复:


获取Spire.PDF for Android via Java 3.6.2请点击:

https://www.e-iceblue.cn/Downloads/pdf-for-android-via-java.html

Spire.PDFViewer 6.6已发布。该版本修复了打开、放大查看PDF文档时出现的诸问题。详情请阅读以下内容。

问题修复:


获取Spire.PDFViewer 6.6请点击:

https://www.e-iceblue.cn/Downloads/Spire-PDFViewer-NET.html

Spire.Presentation for Java 提供了多种方法供开发者调用将 PowerPoint 幻灯片转为其他文件格式,如 PDF、图片、SVG、XPS、OFD 等。在实际开发场景中,当需要将幻灯片转为 HTML 用于网页端呈现时,可参考使用本文介绍的转换方法。本次转换,将分别从以下两个 demo 示例来展示实现转换的详细方法,即:

安装 Spire.Presentation for Java

首先,您需要在 Java 程序中添加 Spire.Presentation.jar 文件作为依赖项。JAR 文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>11.9.10</version>
    </dependency>
</dependencies>

将指定幻灯片转为 HTML

转换时,需要获取指定幻灯片,然后保存为 HTML 到指定路径。代码步骤如下:

  • Java
import com.spire.presentation.*;

public class PPTtoHTML {
    public static void main(String[] args)throws Exception {
        //创建Presentation类的对象
        Presentation ppt = new Presentation();

        //加载幻灯片文档
        ppt.loadFromFile("input.pptx");

        //获取第4张幻灯片,保存为HTML到指定路径
        ISlide slide = ppt.getSlides().get(3);
        slide.saveToFile("SlideToHtml.html",FileFormat.HTML);
    }
}

Java 将 PowerPoint 幻灯片转为 HTML

将整个幻灯片文档转为 HTML

加载幻灯片文档后,可直接调用 Presentation.saveToFile() 方法将整个幻灯片文档保存为 HTML 到指定路。代码步骤如下:

  • Java
import com.spire.presentation.*;

public class PPTtoHTML {
    public static void main(String[] args)throws Exception {
        //创建Presentation类的对象
        Presentation ppt = new Presentation();

        //加载幻灯片文档
        ppt.loadFromFile("input.pptx");

        //保存为HTML格式文档到指定路径
        ppt.saveToFile("FileToHtml.html", FileFormat.HTML);
        ppt.dispose();
    }
}

Java 将 PowerPoint 幻灯片转为 HTML

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。