PDFPatcher:一个无所不能的开源PDF处理工具

news2024/10/10 13:54:35

如果你工作中,经常需要处理PDF文件,那这款工具绝对可以满足你的所有需求,PDFPatcher一款功能强大的开源PDF处理工具。

图片

01 项目简介

这是一款基于.NET Framework 4.0 到 4.8 版本开发的开源工具,主要采用 iText 和 MuPDF 这两个开放源代码的组件库来处理 PDF 文档, ObjectListView 这个强大的列表控件、FreeImage 来读取和解码各种类型的点阵图像文件、Cyotek 的 ImageBox 用于显示渲染好的 PDF 文档页面、TabControlExtra 用于构建选项卡式文档界面、HTMLRenderer 用于显示 HTML 网页界面等等。

图片

该项目作者一直保持不断迭代升级,从作者的博客看,该项目最早更新于2009年,可以说是一个历史悠久且持续活跃的开源项目,在Github获得9.1K的Star。

本软件完全开源免费,无任何广告,只要遵守“良心授权”可以随意使用软件、源码。

图片

02 项目地址

https://github.com/wmjordan/PDFPatcher

https://gitee.com/wmjordan/pdfpatcher

- End -

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

我是编程乐趣,一个.Net开发经验老程序员,欢迎“关注”我,每天为你分享开源项目和编程知识。
也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,点击加入:https://bbs.csdn.net/topics/613465368

推荐阅读

2个零基础入门框架教程!

Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word。

SharpLab:.Net反编译工具,方便实时查看反编译后的代码!

盘点4个.Net跨平台图形开源库!

Flurl:一个Star 3.9K的链式RESTful风格HTTP开源.Net库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快速了解2024与AI相关的诺贝尔奖大佬重要知识!

北京时间10月8日下午5点45分许,2024年诺贝尔物理学奖揭晓。美国普林斯顿大学科学家约翰霍普菲尔德(John J. Hopfield)和加拿大多伦多大学科学家杰弗里辛顿(Geoffrey E. Hinton)获奖,以表彰他们“基于人工神…

嵌入式面试——FreeRTOS篇(四) 信号量

本篇为:FreeRTOS信号量篇 信号量 1、什么是信号量 答:信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。 2、信号量简介 答: 当计数值大于0,表示有信号量资源。当释放信号量,信号量计数…

探索利用人工智能追踪逃犯的新技术

介绍 论文地址:https://arxiv.org/abs/2404.12626 近年来,"追逃游戏 "引起了人们的广泛关注。"追逃游戏 "模拟了多组追捕者与单个逃犯之间的追捕游戏。这种博弈发生在城市道路网等图上,有效地找到这种博弈的策略具有多种…

10月9-10日,优阅达邀您参与 2024 新加坡科技周,一站式体验亚洲前沿技术!

一场不容错过的亚洲商业技术盛会将于新加坡滨海湾金沙会展中心盛大开幕。 当全球化的浪潮席卷每一个角落,中国科技企业正站在新的起点,迎接出海的挑战与机遇。 一场不容错过的亚洲商业技术盛会 TECH WEEK SINGAPORE(点击报名新加坡科技周&am…

HyperWorks基于几何投影的网格变形

在Altair(HyperWorks)里,使用本节将演示如何通过 line difference 功能,将已有网格以几何图形为目标进行投影,以生成全新的网格模型。 图 7-5 网格变形模型的状态 Step01:读取模型。 (1) 打开文件 Exerci…

C++入门基础知识106—【关于C++continue 语句】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C continue 语句的相关内容!…

打不死的超强生命力

水熊虫是你可能听说过的小生物,它们能够在极端环境中生存,堪称地球上的“超强幸存者”。数十年来,科学家们试图通过各种极端实验杀死它们,但无论是把它们以900米/秒的速度发射,还是将它们暴露在宇宙辐射下,…

【含开题报告+文档+PPT+源码】基于springBoot+vue超市仓库管理系统的设计与实现

开题报告 随着电子商务的快速发展和物流行业的日益壮大,超市仓库管理系统的重要性也日益凸显。传统的超市仓库管理方式存在许多问题,比如人工操作繁琐、数据统计不准确、管理效率低下等。因此,需要设计和实现一个高效、智能的超市仓库管理系…

c语言中有关指针的题型整理,以及一些详解

(1)应注意其二维数组的书写形式,以及逗号表达式的 (2)要注意数组名表示首元素地址,解引用之后表示元素,&a表示整个数组,1表示指向后面的,ptr-1又指向数组末尾&#x…

鸿蒙架构-系统架构师(七十八)

1信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性保证合法用户对资源的正常访问,不会被不正当的拒绝。()就是破坏系统的可用性。 A 跨站脚本攻击XSS B 拒绝服务攻击DoS C 跨站请求伪造攻击CSRF D 缓…

绘制YOLOv11模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

一、本文介绍 本文用于绘制模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线。用以比较不同算法的收敛速度,最终精度等,并且能够在论文中直观的展示改进效果。支持…

React(一) 认识React、熟悉类组件、JSX书写规范、嵌入变量表达式、绑定属性

文章目录 一、初始React1. React的基本认识2. Hello案例2.1 三个依赖2.2 渲染页面2.3 hello案例完整代码 二、类组件1. 封装类组件2. 组件里的数据3. 组件里的函数 (重点)4. 案例练习(1) 展示电影列表 三、JSX语法1. 认识JSX2. JSX书写规范及注释3. JSX嵌入变量作为子元素4. JS…

QT 10.8

Xmind: QT的核心机制 QT对话框

Python Django ORM 的工作原理

在 Web 开发中,处理数据库是非常常见的需求,尤其是在构建动态应用程序时。Django 作为一个流行的 Python Web 框架,提供了一套强大的工具帮助开发者轻松管理数据库。Django 的 ORM(对象关系映射,Object-Relational Map…

【STM32单片机_(HAL库)】4-5-2【定时器TIM】【感应开关盖垃圾桶】HC-SR04超声波模块实验

1.硬件 STM32单片机最小系统HC-SR04超声波模块 2.软件 hcsr04驱动文件添加main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "uart1.h" #include "hcsr04.h"int main(void) {HAL_Init(); …

k8s微服务

一 、什么是微服务 用控制器来完成集群的工作负载,那么应用如何暴漏出去?需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。 借助Service,应用可以实现服务发现和负载均衡。 service默认只支持4层负载均…

全网首创Windows Powershell 批量创建、重命名和拷贝文件夹和文件到指定目录

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)。 “ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利…

Redis 完整指南:命令与原理详解

目录 1. Redis 概述什么是 RedisRedis 应用场景 2. 安装与启动Redis 安装步骤源代码安装使用包管理器安装(以 Ubuntu 为例) 编译与启动命令编客户端连接 3. Redis 存储结构KV 存储结构数据结构类型String(字符串)List(…

selenium有多个frame页时的操作方法(5)

之前文章我们提到,在webdriver.WebDriver类有一个switch_to方法,通过switch_to.frame()可以切换到不同的frame页然后才再定位某个元素做一些输入/点击等操作。 比如下面这个测试网站有2个frame页:http://www.sahitest.com/demo/framesTest.h…

支付宝开放平台-开发者社区——AI 日报「10 月 10 日」

1 AI逆向绘画火了!一键重绘梵高《星空》,来自华盛顿大学 量子位|阅读原文 这项魔法来自华盛顿大学,项目名为Inverse Painting,相关论文已入选SIGGRAPH Asia 2024,其中两位作者还是东北大学(Bo…