首页 > 编程语言 >c# 如何实现把word文件转换成Pdf文件?

c# 如何实现把word文件转换成Pdf文件?

时间:2023-10-28 22:34:24浏览次数:32  
标签:文件 插件 word 方案 c# Doc Spire Word Pdf

最近开发一个项目,要实现把word文件转换成pdf文件。

实现的方案大概分为三种:

1、利用微软的库 Microsoft.Office.Interop.Word来进行Word到PDF的转换【需要安装office软件】

2、利用WPS的COM组件来实现Word到PDF的转换 【需要安装wps软件】

3、利用商业插件实现Word到PDF的转换 【无需安装软件,推荐方案

 

以上三种方案都经过了亲自尝试:

方案1和方案2都需要在服务器上安装Office或者WPS软件才能实现word到pdf的转换。

相信这两种方案也是大家常用的,也是免费的两种方案。

 

不过我还是觉得这两种方案不够完美,主要还是受安装环境的制约。

下面重点说一下第三种方案,也是我推荐的方案。

 

商业插件我重点测试了两个Spire.DocAspose.Words

经过测试,发现Aspose.Words插件转换后,文件的页数会减少,所以放弃了此插件。

 

最终选择了Spire.Doc,实现方法也比较简单

直接把代码写出来供大家参考

public void Word2Pdf()
{
  Document document = new Document();   document.LoadFromFile(@"D:\test.docx",FileFormat.Docx);
  ToPdfParameterList toPdf = new ToPdfParameterList();
  toPdf.PdfConformanceLevel = Spire.Pdf.PdfConformanceLevel.Pdf_A1B;
  document.SaveToFile("result.Pdf",toPdf);
}

 

Spire.Doc插件是国外的插件,试用版只能测试使用,无法直接在项目中使用的,因为导出的pdf会有水印。

所以要想使用Spire.Doc插件,要么找官网购买,要么想办法破解版(国内程序员常用的做的)。

最近经过在国内、国外网站查找各种资料,总算解决了。

 

如果你也想使用Spire.Doc插件,可以留言或私信,共同交流学习。

 

标签:文件,插件,word,方案,c#,Doc,Spire,Word,Pdf
From: https://www.cnblogs.com/Fanser/p/17794785.html

相关文章

  • 【杂题乱写】AtCoder-ARC114
    AtCoder-ARC114_ANotcoprime\(50\)内的质数只有\(15\)个,可能的答案也就只有\(2^{15}\)个,直接枚举。提交记录:Submission-AtCoderAtCoder-ARC114_BSpecialSubsets就是\(i\)与\(f_i\)连边,每个连通块都是基环树,一定能剥叶子变成环,所以答案就是连通块非空子集个数。......
  • #期望dp#CF1810G The Maximum Prefix
    洛谷题面CF1810G分析考虑最大前缀和满足两个条件,就是所有前缀和都不超过,以及一定有一个等于。那么就要保证它能达到最大值且一直不能高于它设\(dp[i][j][0/1]\)表示前\(i\)个数离达到最大值还需要\(j\)且未/已经达到过最大值。初始化就是\(dp[0][j][j==0]=h[j]\),然......
  • iTTCGP Numerical Results
     ......
  • Gensim库的使用——Word2vec模型
    Word2vec源码   Word2vec论文   Word2Vec原理参考 Gensim库的使用——Word2vec模型pipinstallgensimhttps://ai.tencent.com/ailab/nlp/zh/data/tencent-ailab-embedding-zh-d100-v0.2.0-s.tar.gz762Mtar.gztencent-ailab-embedding-zh-d100-v0.2.0-s.txt1.88......
  • 高通PC处理器骁龙 X Elite杀到:迎战苹果M3
    在刚刚召开的2023年高通峰会上,高通正式发布了其专为PC平台设计的全新骁龙X平台,旗舰型号命名为:“骁龙X Elite”,根据高通官方PPT,与主要竞争对手苹果、英特尔相比,高通骁龙X Elite处理器拥有更强的能效比。在CPU规格方面,骁龙X Elite采用了自研的Qualcomm Oryon CPU,4nm工艺,64位架......
  • PAT 甲级【1013 Battle Over Cities】
    本题就是dfs.连通图个数-2;但是java慢,最后一个case超时importjava.io.*;importjava.util.HashSet;importjava.util.Set;publicclassMain{@SuppressWarnings("uncheck")publicstaticvoidmain(String[]args)throwsIOException{StreamToken......
  • ELK中 Elasticsearch和Logstash内存大小设置的考虑
    本文为博主原创,转载请注明出处:在ELK(Elasticsearch、Logstash和Kibana)日志采集和分析场景中,适当设置Logstash和Elasticsearch的内存大小非常重要。这可以确保系统能够高效地处理大量的日志数据,并提供快速的搜索和分析功能。对于Logstash和Elasticsearch的内存大小设置,没......
  • 整合spring security自定义认证
    一、认证1.自定义组件  (1)UserDetails自定义,实现用户登录方法;publicinterfaceUserDetailsServiceextendsorg.springframework.security.core.userdetails.UserDetailsService{/***根据用户名获取用户对象(获取不到直接抛异常)*/@OverrideUser......
  • 使用 Jenkins + Github + dokcer-compose 部署项目-环境准备篇
    JDK的安装及配置openjdk官网安装sudoadd-apt-repositoryppa:openjdk-r/ppaaptupdateaptupgradeaptinstallopenjdk-11-jdk配置以上方式安装的jdk路径位于/usr/lib/jvm/java-1.11.0-openjdk-amd64配置环境变量,根据自己的shell配置编辑对应的文件vi/etc/profile......
  • P9797 [NERC2018] Guest Student
    Link考虑将中间经过的时间分成三段:若干个整星期,前面的散块,后面的散块。可以先考虑没有前面的散块的做法:设经过了\(res\)个整星期,记每个整星期有\(cnt\)天有空,显然中间每次有空都选择听课是最优的,可以发现\(res=7\times\lfloor\dfrac{k-1}{cnt}\rfloor\),此时剩下需要安排......