保护眼睛:给 PDF 设置图片背景



2011-08-04 22:05 
鹤冲天 
阅读(16303
评论(36
编辑 
收藏 
举报

从事 IT 行业,免不了经常阅读 PDF 文档。
PDF 文档纯白色背景相当刺眼,长时间阅读会导致眼睛干涩疼痛。一些 PDF 阅读软件可以修改背景,但往往只能使用纯色(单一颜色)。
PDF 文档使用淡雅的图片作背景,可减缓视觉疲劳,保护我们的眼睛。

从事 IT 行业,免不了经常阅读 PDF 文档。PDF 文档纯白色背景相当刺眼,长时间阅读会导致眼睛干涩疼痛。一些 PDF 阅读软件可以修改背景,但往往只能使用纯色(单一颜色)。

PDF 文档使用淡雅的图片作背景,可减缓视觉疲劳,保护我们的眼睛。

一直没有找到从 PDF 阅读器中设置背景图片的办法,不得已从 PDF 文件下手,自己写了个小程序,分享给大家:

PDF 设置背景 程序

程序下载:PDF图片背景.rar (1523KB,WPF 程序,需要 .net 4)

程序主界面如下:

image

只需如上三步操作。

程序附带了几个淡雅的背景图:

image

在第二步,选择背景图片后,窗口将自动预览:

image  image

设置背景不会修改原 PDF 文件,第三步程序将生成一个新的文件,并在生成成功后提示保存。

(保存时可替换原文件,但不推荐这么做,因为生成的文件的背景不能再次修改,原 PDF 文件最好保留。)

图片背景 PDF 展示:

image

image

比纯色背景强多了吧!

这个简单的程序一次只能处理一个 PDF 文件,如果需要批量处理或界面操作有更高的要求,请下载源码并修改:

源码下载及简要说明

源码下载:PDF图片背景源码.rar(1493KB,c#,VS2010)

程序借助 iTextSharp 类库从源 PDF 中复制页面,并加以背景,程序的核心类 ImageBackground 的公有成员如下:

1
2
3
4
5
6
7
8
9
public class ImageBackground
{
    public void SetBackground(string pdfFile, string destFile, Drawing.Image image) {...}
    public void SetBackground(string pdfFile, Stream stream, Drawing.Image image) {...}

    public event EventHandler<SetBackgroundProgressEventArgs> Progress;
    public event EventHandler<SetBackgroundErrorEventArgs> Error;
    public event EventHandler Finish;
}

可以在本代码的基础上修改,实现批量处理,或都编写一个更友好方便使用的界面(如果你有好 idea,不妨分享给我)。

如果你想对 PDF 有更深入的控制,如加水印、裁剪页面的空白等,建议阅读 《 iText in Action 》一书。

 

如本文对你有帮助,请推荐本文。

连日写博客,有点累了,如果错误,请包涵。如能通知我,不胜感激。

版权声明:本文为ldp615原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ldp615/archive/2011/08/04/set-image-as-pdf-background.html