首页 > 解决方案 > 在 C# 中将 PDF 的每一页制作成图像(包含在 pdf 中)

问题描述

我有很多带有文本的 PDF 文件。为了防止复制,我添加了水印,但是,只需编辑 PDF 即可轻松去除水印。

使用 C#,如何将 PDF 转换为 PDF,每个页面都是文本的图像?我知道这不是万无一失的,因为 OCR 可用于提取文本,但我想让它变得更难一点。

谢谢你的帮助。

标签: c#.netitext

解决方案


我使用 Ghostscript.Net ( https://github.com/jhabjan/Ghostscript.NET ) 将每个页面分解为一个位图,您可以将其转换为您想要的任何其他格式:

using Ghostscript.NET.Rasterizer;
...

using (GhostscriptRasterizer raster = new GhostscriptRasterizer())
{
    raster.Open(filename);
    pages = raster.PageCount;

    _bitpages = new Bitmap[raster.PageCount];
    for (int i = 1; i < pages + 1; i++)
    {
        _bitpages[i - 1] = (Bitmap)raster.GetPage(dpi, dpi, i);
        // convert and save image here
    }
    raster.Close();
}

推荐阅读