PDF之itextsharp的使用开发历程1

4 篇文章 0 订阅
4 篇文章 0 订阅

奋斗迫于PDF文件处理项目所需,而自己又是刚开始学习编程的新手,在朋友的推荐下坚定地学起了C#,刚开始下载视频学,到后面结合书本同步练习,学完基本的变量、语法我已经有些按捺不住了,视频也看完了,讲的都是最基础的东西,而书本真的看不下去,我决然地想要开始做自己的项目了,我相信那样我会进步更快,收获更多,而对于PDF只能说一头雾水,无从下手,无计可施呀。对于PDF的理解与做法甚是不解,以前所有接触跟理解都停留在对已经建立好的PDF文件的阅读与打印这些单调的操作,而现在却是要自己“动手”来对手上已有的PDF文件进行操作、处理(加密、解密、合并、插入等等)。

第一个项目是对PDF进行加密及加权限处理,我在想现在的基础就只是拉拉控件,show show基础界面,知道几个变量,懂点条件循环就可以做这事了吗,天啊不太可能吧。

收拾下心情,不可能也是要做了,都到这步了,做人贵在坚持,于是乎我开始在互联网这片大海中撒网,希望能尽快找到我需要的东西,国人嘛,有问题找百度,百度一下你就知道,找呀找,可是完全都没有一点思路跟线索,在百度有的只是这破解、那破解的各种免费的PDF处理工具软件,可是只看看界面,使用,我并不知道这样一堆功能究竟是如何搭建、堆砌起来的,大哭,就这么好几天的时间过去了,可是我还是完全没有概念,脑子好乱,究竟该怎么下手呀,求助过朋友似乎对这块都不了解,最后一个程序猿朋友告诉我一个网站找找看:https://github.com/,我也不知道是能干嘛的,反正他说可能可以找到我想要的相关资料,那我就try一下罗,可惜在这里我也是没找到相关的资料,后面跟朋友商量过可能国内真找不到,看来国外常用的PDF处理工具应该要到国外找资料才对了,于是乎只能翻墙上google了,好吧,谷歌一下你就知道了,国外资料虽多,但都是英文的,一个困难又摆在了我的面前,我又要重拾心情好好定下心来看看这一串串的英文资料及搜索结果了,感觉无爱了,在这茫茫的英文页面面前,感觉很神伤啊,本来我要找的东西我自己也不太确定是啥,而现在是要在这里面去挑、去识别,整个人一下都不好了,没办法只能硬着头皮上了,刚开始我只懂用中文进行搜索,经过了几番苦海奋战,我似乎找到了蛛丝马迹,在这个网站上我看到了一段点燃一切希望的代码:http://stackoverflow.com/,经过对比总结,我算是知道操作处理PDF需要自己写类库(国外叫:library)或者使用第三方类库,可是写库这么高深的东西,想想我就不会呀,而且还是要去操作外国人发明的东西---PDF,这估计不是一般人可以做到的,我想我还是老老实实找找第三方类库吧,在google,你确实可以找到在百度上找不到的东西,而且东西也很多就看你会不会找,蛋疼的就是要翻墙的有木有,第三方类库,找呀找,很多,但也好乱好杂,没经验就只能这样了,看了一些,要么收费要么就不带我想要的功能,要么就是API说明档看不懂要么就压根没这方面的资料,苦逼的我,选择了C#,我只能尽量找支持.Net平台的类库了,不然我的开发难度会更大,找呀找,最终因为http://stackoverflow.com/上的一段PDF加密的代码吸引了我,而它便是使用itext的.Net类库itextsharp写的,itextsharp查了查也是开源类库,此刻我心情异常 兴奋,可惜就一段小小的代码并不完整,后面经过几番查找跟测试,算是拼凑起了自己的第一个PDF加密的测试小程序,测试成功大笑

首次调试使用加密及权限限制主要功能源码(C#  winform):

  private void Encrypt_Click(object sender, EventArgs e)  //加密并自动另存为新PDF操作
        {
            string inputf = textBox1.Text;      //源文件路径
            var saveDialog = new SaveFileDialog();     //保存操作实例化
            saveDialog.DefaultExt = "pdf";        //输出格式:pdf
            if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                var reader = new PdfReader(inputf);       //源文件读入内存并转为itextsharp可识别的文件流
               var output = saveDialog.OpenFile();
               encrypt(reader,output,0,"123","12345",0);     //加密及权限主要功能函数
            }
        }

         public void encrypt(PdfReader rd,Stream ot,int aes,string up,string op,int pmit)   //加密及限制方法
        { 
        
            try
            {
                PdfEncryptor.Encrypt(rd, ot, aes, up, op, pmit);
                                                                                                                                                       
             }            
            catch (Exception de)
            {
                Console.Error.WriteLine(de.StackTrace);
            }

        }

后续的开发及使用历程会在下一篇博文展开,更多PDF操作项目实例及软件可以跟大家探讨、分享,有兴趣的朋友请继续跟进,也可以随时跟我交流,邮箱:hjacto@163.com;   QQ: 3045918815

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@潮酷Tech.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值