写在前面

  1. Aspose 这个是收费的,直接使用是有水印的
  2. 需要用到的dll文件 ==> Aspose.Words.dll、Aspose.HTML.dll、Aspose.Total.lic(授权文件)
  3. 我使用的是.NET Framework 4.0 ,.NET Core 使用nuget安装

Word转换成PDF

  1、引用 Aspose.Words.dll  文件

    

  2、授权。先将 Aspose.Total.lic 添加到项目中,然后设置文件属性

    

  3、转换代码

public static class PdfHelper
{
static PdfHelper()
{
Aspose.Words.License license = new Aspose.Words.License();
license.SetLicense("Aspose.Total.lic"); //授权
} /// <summary>
/// word 转换成 pdf 文件
/// </summary>
/// <param name="sourcePath">原文件</param>
/// <param name="targetPath">转换后的pdf存储路径</param>
/// <param name="error"></param>
/// <returns></returns>
private static string WordToPdf(string sourcePath, string targetPath)
{
string error = "";
try
{
using (FileStream localFileStream = new FileInfo(sourcePath).Open(FileMode.Open, FileAccess.Read, FileShare.Read))
{
var opt = new Aspose.Words.LoadOptions();
opt.Encoding = Encoding.UTF8;
var doc = new Aspose.Words.Document(localFileStream, opt); //如果word文档有自己安装的字体需要追加一下,不然转换出来的pdf文件字体格式会错误
string userfontsfoloder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Microsoft\\Windows\\Fonts\\"; ArrayList fontSources = new ArrayList(Aspose.Words.Fonts.FontSettings.DefaultInstance.GetFontsSources());
//将用户目录字体添加到字体源中
Aspose.Words.Fonts.FolderFontSource folderFontSource = new Aspose.Words.Fonts.FolderFontSource(userfontsfoloder, true);
fontSources.Add(folderFontSource);
Aspose.Words.Fonts.FontSourceBase[] updatedFontSources = (Aspose.Words.Fonts.FontSourceBase[])fontSources.ToArray(typeof(Aspose.Words.Fonts.FontSourceBase));
Aspose.Words.Fonts.FontSettings.DefaultInstance.SetFontsSources(updatedFontSources); //doc.Sections[0].PageSetup.PageWidth = 2479 / 2.5;
//doc.Sections[0].PageSetup.PageHeight = 3508 / 2.5;
//doc.Sections[0].PageSetup.OddAndEvenPagesHeaderFooter = false;
doc.Save(targetPath, Aspose.Words.SaveFormat.Pdf);
}
}
catch (Exception ex)
{
error = "转换pdf失败,error:" + ex.Message;
}
return error;
}
}

HTML转换成PDF

1、引用Aspose.HTML.dll文件

  参考Word转换PDF步骤1

2、授权

  参考Word转换PDF步骤2

3、转换代码

  在Word转换PDF的Helper类里添加代码

  在构造函数追加授权代码

static PdfHelper()
{
Aspose.Words.License license = new Aspose.Words.License();
license.SetLicense("Aspose.Total.lic"); //授权
Aspose.Html.License licenseHtml = new Aspose.Html.License();
licenseHtml.SetLicense("Aspose.Total.lic"); //授权
}

  新增HTML转换PDF代码

private static string HtmlToPdf(string sourcePath, string targetPath)
{
string error = "";
try
{
var doc = new Aspose.Html.HTMLDocument(sourcePath);
var opt = new Aspose.Html.Saving.PdfSaveOptions();
Aspose.Html.Converters.Converter.ConvertHTML(doc, opt, targetPath);
}
catch (Exception ex)
{
error = "转换pdf失败,error:" + ex.Message;
}
return error;
}

4、如果html 转换成pdf文件格式有问题也可以尝试使用【Select.HtmlToPdf】

C#使用Aspose将Word\HTML 转换成PDF文件的更多相关文章

  1. OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法

    OpenOffice版本:4.0(Windows.Linux下测试都出现问题) MS Office版本:2007 问题描述 使用OpenOffice将MS的docx文件转换为pdf文件时,docx文件 ...

  2. Nodejs 中将html转换成pdf文件

    Nodejs 中将html转换成pdf文件,Nodejs Convert html into pdf 1. 下载phantomjs.exe,将该文件放在根目录 2. 编写pdf.js文件(在githu ...

  3. Linux不用使用软件把纯文本文档转换成PDF文件的方法

    当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些.比如,PDF更适合打印,因为PDF文档有预定义布局.除此之外,还可以减少文档被意外修改的风险. 要将文本文件转换成PDF格式,你要按照 ...

  4. C#.net word excel powerpoint (ppt) 转换成 pdf 文件

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  5. Python将word文档转换成PDF文件

    如题. 代码: ''' #將word文档转换为pdf文件 #用到的库是pywin32 #思路上是调用了windows和office功能 ''' #导入所需库 from win32com.client ...

  6. 在Linux下将HTML文件转换成PDF文件

    今天要写一个上交的作业,本来是想用Office Word来写的,但是,我的Office貌似不能用了,但是,Linux下的LibreOffice写出的文档,在打印的时候是经常出现乱码的.所以,后来想到可 ...

  7. C# 将PowerPoint文件转换成PDF文件

    PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...

  8. 使用abcpdf将html转换成pdf文件

    ABCpdf.NET使用介绍 最新做一个项目需要生成pdf文档以供打印,研究决定使用abcpdf这款组件,先针对其使用方法做一个简单的总结介绍以给有需要的朋友做参考. 一. ABCpdf.NET简单介 ...

  9. JAVA使用aspose实现word文档转pdf文件

    引入jar包 下载地址:https://yvioo.lanzous.com/iezpdno3mob 然后打开下载的目录打开cmd执行 mvn install:install-file -Dfile=a ...

  10. 用java代码把docx转换成pdf文件

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio ...

随机推荐

  1. 安装pyenv-win(windows 环境)支持多个python环境管理

    安装pyenv-win(windows 环境)支持多个python环境管理 https://blog.csdn.net/dair6/article/details/129128240

  2. GCC编译选项含义解析

    GCC 编译 GCC的编译流程分为四个步骤,分别为: 预处理(Pre-Processing) 可以通过gcc -E hello.cc -o hello.i查看中间结果 编译(Compiling) 汇编 ...

  3. fastposter 2.1.1 紧急版本发布 电商级海报生成器

    fastposter 2.1.1 紧急版本发布 电商级海报生成器 fastposter低代码海报生成器,一分钟完成海报开发.支持Java Python PHP Go JavaScript等多种语言. ...

  4. Git 合并冲突

    目录 文章目录 目录 合并冲突 合并分支 合并最近的两次提交 合并冲突 步骤: git status 找到冲突的文件 将冲突去除 将冲突文件重新加入临时区 git add egis/api/v1/ro ...

  5. 训练营 |【AIRIOT大学计划暑期训练营】第三期即将开营,报名从速!

    培养新生力量,聚焦产业融合.为了促进物联网产业的纵深发展和创新,推进教育链.产业链与创新链的有机衔接,提高学生理论.实践和创新能力,为行业培养更多优秀人才,航天科技控股集团股份有限公司将于2023年7 ...

  6. bond网卡

    目录 一.bond概述 1.1.bond的优点 二.bond模式 2.1.mode=0 2.2.mode=1 2.3.mode=2 2.4.mode=3 2.5.mode=4 2.6.mode=5 2 ...

  7. Chrome:用uBlacklist屏蔽CSDN搜索结果

    CSDN现在广告满天飞,且很多博客需要先关注才能复制,非常令人无语.如果每次用Google搜索的时候都要加上"-csdn"选项,就非常麻烦.有没有更方便的办法呢?我们可以利用Chr ...

  8. OpenStack Centos7 T版本搭建

    目录 Centos7搭建OpenStack T版本 --上 1. 环境准备(所有节点操作) 1.1 修改主机名 1.2 关闭selinux 以及防火墙 1.3 修改hosts 1.4 配置时间同步 c ...

  9. js RGB转HSV

    function rgb2hsv (r,g,b) { var computedH = 0; var computedS = 0; var computedV = 0; //remove spaces ...

  10. linux常用关机/重启命令:shutdown,init 0,init 6

    目录 一.使用shutdown关机,重启,定时关机 二.使用init关机/重启 一.使用shutdown关机,重启,定时关机 1.设置计算机10分钟之后关机 [root@node5 ~]# shutd ...