C#实现word和pdf格式互转

server/2024/11/26 21:38:32/

1、wordpdf

使用nuget:

 Microsoft.Office.Interop.Word

winform页面:

后端代码:

//using Spire.Doc;
//using Spire.Pdf;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//using Aspose.Words;
using Microsoft.Office.Interop.Word;
using System.Windows.Forms;
using Application = Microsoft.Office.Interop.Word.Application;namespace file_operations
{public partial class word转PDF : Form{public word转PDF(){InitializeComponent();//窗体居中this.StartPosition = FormStartPosition.CenterScreen;//无边框this.FormBorderStyle = FormBorderStyle.None;//放大无效this.MaximizeBox = false;//版权label4.Text = "该应用由昔舍版权所有,如修改源码请联系15574296763@163.com,侵权后果自负!!!";}private void button1_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();if(openFileDialog.ShowDialog() == DialogResult.OK){string file = openFileDialog.FileName.ToLower();//获取文件扩展名string extension = System.IO.Path.GetExtension(file);if(extension != ".doc" && extension != ".docx"){MessageBox.Show("请选择word文件", "错误提示");}else {textBox1.Text = file;}}}private void button2_Click(object sender, EventArgs e){FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();if(folderBrowserDialog.ShowDialog() == DialogResult.OK){textBox2.Text = folderBrowserDialog.SelectedPath+"\\";}}//保存为PDFprivate void button3_Click(object sender, EventArgs e){if (textBox1.Text.Length == 0 && textBox2.Text.Length == 0 && textBox3.Text.Length ==0){MessageBox.Show("请选择要转换的原文件和要保存的路径", "错误提示");}else{try{//创建一个word实例Application wordapp = new Application();//创建一个word文档对象,并打开word文件Document wordDoc = wordapp.Documents.Open(textBox1.Text);//获取文件扩展名string extension = System.IO.Path.GetExtension(textBox2.Text);//设置保存路径,保存文件名称和文件格式if (extension !=".pdf"){try{string savePath = textBox2.Text + textBox3.Text + ".pdf";wordDoc.SaveAs2(savePath, WdSaveFormat.wdFormatPDF);}catch{MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");}}else{try{string savePath = textBox2.Text + textBox3.Text;wordDoc.SaveAs2(savePath, WdSaveFormat.wdFormatPDF);}catch{MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");}}//保存以后打开文件路径string openfilePath = textBox2.Text;System.Diagnostics.Process.Start(openfilePath);}catch (Exception ex){MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");}}}private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){PDF转word pDF = new PDF转word();//隐藏本窗体this.Hide();//打开PDF转wordpDF.Show();}private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){this.Close();PDF转word pDF = new PDF转word();pDF.Close();}}
}

2、pdfword功能实现:

使用nuget:

破解的Spire.pdf

下载地址:crack-spire/手动破解Spire.PDF,已破解下载链接在底部.md at main · zhjunbai/crack-spire · GitHub

winform页面:

后端代码:
 

using Spire.Pdf;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;
using Application = Microsoft.Office.Interop.Word.Application;
using System.Threading;namespace file_operations
{public partial class PDF转word : Form{public PDF转word(){InitializeComponent();//窗体居中this.StartPosition = FormStartPosition.CenterScreen;//无边框this.FormBorderStyle = FormBorderStyle.None;//放大无效this.MaximizeBox = false;//版权label4.Text = "该应用由昔舍版权所有,如修改源码请联系15574296763@163.com,侵权后果自负!!!";}private void button1_Click(object sender, EventArgs e){//获取PDF文件OpenFileDialog openFileDialog = new OpenFileDialog();if(openFileDialog.ShowDialog() == DialogResult.OK){//获取文件名string files = openFileDialog.FileName.ToLower();//获取文件扩展名string extension = System.IO.Path.GetExtension(files);if(extension != ".pdf"){MessageBox.Show("请选择PDF文件", "错误提示");}else{pdftext.Text = files;}}}private void button2_Click(object sender, EventArgs e){FolderBrowserDialog openFileDialog = new FolderBrowserDialog();if(openFileDialog.ShowDialog() == DialogResult.OK) {wordPath.Text = openFileDialog.SelectedPath + "\\";}}private void button3_Click(object sender, EventArgs e){//初始化pdfDocument实例PdfDocument doc = new PdfDocument();try{//加载PDF文档doc.LoadFromFile(pdftext.Text);//保存为DOC格式文档string savePath = wordPath.Text + wordname.Text + ".DOC";doc.SaveToFile(savePath, FileFormat.DOC);Thread.Sleep(3000);//保存以后打开文件路径string openfilePath = wordPath.Text;System.Diagnostics.Process.Start(openfilePath);}catch{MessageBox.Show("请确定文件选择正确", "错误提示");}}private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){this.Close();word转PDF word = new word转PDF();word.Close();}private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){word转PDF word = new word转PDF();//隐藏本窗体this.Hide();word.Show();}}
}

版权所有,使用请留言声明并在代码中添加引用说明!!!!!


http://www.ppmy.cn/server/137768.html

相关文章

部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio

1. 模块简介 Prometheus 是一个开源的监控系统和时间序列数据库。Istio 使用 Prometheus 来记录指标,跟踪 Istio 和网格中的应用程序的健康状况。Grafana 是一个用于分析和监控的开放平台。Grafana 可以连接到各种数据源,并使用图形、表格、热图等将数据…

Nginx 的 Http 模块介绍(中)

1. preaccess 阶段 在 preaccess 阶段在 access 阶段之前,主要是限制用户的请求,比如并发连接数(limit_conn模块)和每秒请求数(limit_req 模块)等。这两个模块对于预防一些攻击请求是很有效的。 1.1 limi…

如何将MySQL彻底卸载干净

目录 背景: MySQL的卸载 步骤1:停止MySQL服务 步骤2:软件的卸载 步骤3:残余文件的清理 步骤4:清理注册表 步骤五:删除环境变量配置 总结: 背景: MySQL卸载不彻底往往会导致重新安装失败…

【自动化测试】APP UI 自动化(安卓)-本地环境搭建

一、软件准备及版本介绍 软件版本JAVA-SDK1.8.0_181 python 3.10.10 Android SDK Tools 下最新版本即可,无特殊要求 PyCharm 2023.3.5(下最新版本即可,无特殊要求) 二、安装步骤及环境变量配置 2.1 Java安装及配置 1&am…

利用Spring Boot框架打造信息学科平台

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

MySQL 和 PostgreSQL 的对比概述

MySQL 和 PostgreSQL 是两种广泛使用的开源关系型数据库管理系统(RDBMS),它们各自有其特点和优缺点。以下将从多个方面对它们进行详细比较。 1. 介绍 MySQL: MySQL 由瑞典公司 MySQL AB 开发,2008 年被 Sun Microsyst…

OnlyOffice 8.2 版本测评

引言 随着数字化办公的普及,各类文档协作工具如雨后春笋般涌现。OnlyOffice 作为一款开源且功能强大的协作平台,已吸引了众多用户的关注。近期推出的 OnlyOffice 8.2 版本带来了诸多更新和改进,旨在提升用户的文档处理体验。本文将对该版本进…

评价指标和目标函数的关系

评价指标和目标函数在优化和决策过程中扮演着重要的角色,虽然它们有相似之处,但也有明显的区别。 目标函数: 目标函数是优化问题中需要被最大化或最小化的函数。它定义了一个明确的优化目标,比如利润、成本、效率等。在数学模型中…