首页 > 编程语言 >C# 使用PdfiumViewer打开PDF

C# 使用PdfiumViewer打开PDF

时间:2025-01-07 16:36:34浏览次数:1  
标签:Load C# pdfDocument PdfiumViewer 文档 using PDF 加载

如题,在项目中需要打开一个操作文档。

1.创建WinForm窗体
2.引用 -> 管理NuGet程序包 -> 检索"pdfium" -> 安装以下3个包:

 3.代码
using PdfiumViewer;
using Sunny.UI;
using System;
using System.IO;
using System.Windows.Forms;

namespace UpperMaterial.MDIChildForm
{
    public partial class PdfForm : UIForm
    {
        private PdfDocument pdfDocument;


        public PdfForm()
        {
            InitializeComponent();
            this.Load += PdfForm_Load; // 注册窗体加载事件处理程序
        }

        /// <summary>
        /// 窗体加载时自动加载并显示PDF文档。
        /// </summary>
        private void PdfForm_Load(object sender, EventArgs e)
        {
            LoadAndDisplayPdf();
        }

        /// <summary>
        /// 加载指定路径下的PDF文档,并设置到pdfRenderer1控件上。
        /// </summary>
        private void LoadAndDisplayPdf()
        {
            string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "operationDocument", "CCD读码程序文档.pdf");

            if (!File.Exists(filePath))
            {
                UIMessageBox.ShowError("PDF文件未找到!");
                return;
            }

            try
            {
                // 如果之前已经加载了一个文档,则先释放资源
                if (pdfDocument != null)
                {
                    pdfDocument.Dispose();
                    pdfDocument = null;
                }

                this.pdfViewer1.Document = PdfDocument.Load(filePath);

            }
            catch (Exception ex)
            {
                MessageBox.Show($"加载PDF文件时出错: {ex.Message}");
            }
        }

        
    }
}
4.实现效果

 

标签:Load,C#,pdfDocument,PdfiumViewer,文档,using,PDF,加载
From: https://www.cnblogs.com/zeussbook/p/18657881

相关文章

  • DirectX 修复工具 V4.3 绿色增强版:完美解决 DirectX 和 C++ 问题,修复 0xc000007b 错误
    介绍DirectX修复工具V4.3是一款高效的系统修复工具,专为解决系统异常和C++运行库问题而设计,尤其对解决0xc000007b错误有着极高的修复率。本工具支持对所有版本的DirectX进行修复,并在增强版中新增了对C++运行库问题的修复,提供了一个全面且可靠的解决方案。主要功能......
  • CS61B srping 2018 proj1A https://sp18.datastructur.es/
    proj1A数据结构skeleton地址开始这个proj之前,至少应该对SLList,DLList,AList有所了解介绍在proj1A里要用list和Array来创建“DoubleEndedQueue”,在接下来的proj1B里要对应编写测试。LinkedListDeque.javaandArrayDeque.java是这个proj里边要操作的文件,推荐使用intel......
  • 3. 什么时候会触发FullGC
    除直接调用System.gc外,触发FullGC执行的情况有如下四种。1.旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行FullGC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError:Javaheapspace为避免以上两种状况引起的Full......
  • 【Prometheus】【Alertmanager】手把手教你安装v0.28.0-rc.0版本
    本文用来演示下载安装Alertmanager的v0.28.0-rc.0版本(Linux64位),具体可以按照以下步骤进行:1.下载Alertmanager压缩包首先,你需要通过curl或wget命令来下载alertmanager的压缩包。使用curl命令下载:curl-LOhttps://github.com/prometheus/alertmanager/r......
  • 玩转 DevEco Studio 5 代码重构功能
    大家好,我是V哥,DevEcoStudio是开发HarmonyOS应用及元服务的集成开发环境(IDE),提供了代码编辑、编译构建、代码调试、性能调优、应用体检、模拟器等功能,帮助您高效开发HarmonyOS应用及元服务。这不DevEcoStudio又升级了,发布了最新的5.0.1Release版,在DevEco中代码重构功......
  • 用DevEco Studio模拟器这些能力 没真机也能高效调测鸿蒙原生应用
    随着鸿蒙生态的快速发展,越来越多的开发者投身于鸿蒙原生应用的开发中。然而,在实际开发中,真机设备短缺、调测场景复杂等问题常困扰着开发者。为解决这些问题,华为在DevEcoStudio上为开发者提供了模拟器(Emulator)功能,帮助开发者在真机匮乏或无真机时,高效且低成本地完成应用开发与调试......
  • renben-openstack-使用操作
    管理员操作(1)上传一个qcow2格式的centos7镜像(2)管理员------>云主机类型------>创建云主机类型名称:Centos7VCPU数量:1内存:1024根磁盘:10G其他的默认点击创建云主机类型即可界面会显示如下创建公网络(1)创建公网管理员------>网络------>......
  • 《计算机体系结构与SoC设计》(三)
    1.虚拟存储的工作原理虚拟存储(VirtualMemory)是计算机系统内存管理的一种技术,它允许操作系统和程序使用比物理内存(RAM)更大的地址空间。虚拟存储的工作原理主要包括以下几个关键概念:地址空间:虚拟存储为每个进程提供了一个连续的虚拟地址空间,这个空间可以比实际的物理内存大得......
  • 06CC2、commons-collections4与漏洞修复
    commons-collections的版本和分支2015年cc链的利用被提出时,apachecommonscollections有两个分支:commons-collections:commons-collectionsorg.apache.commons:commons-collections4前者为CommonsCollections⽼的版本包,当时版本号是3.2.1,后者是官⽅在2013年推出的4版本,当......
  • DirectX修复工具:系统修复必备神器 修复工具 V4.3 绿色增强版
    DirectX修复工具是一款专用于修复系统异常的工具,DirectX修复工具还是一款使用简单易上手操作且绿色、可免安装的修复工具。使用DirectX修复工具可自动更新C++组件且完美修复0xc000007b问题异常。如果你的电脑出现了DirectX的异常问题,可直接下载DirectX修复工具进行修复解决。Dir......