您想到的第一个也是最重要的问题可能是,是否仅将 RGB 图像转换为灰度图像?不,您几乎可以将任何文档格式(包括图像)转换为黑白或灰度单色图像。对比度范围从最弱的黑色到最强的白色。在本文中,我们将讨论如何使用 C# 将彩色 PDF 文档转换为灰度 JPG 和 PNG 图像格式。

将 PDF 转换为灰度

如果您要进行图像处理,此功能非常有用。由于 RGB 图像由 3 个通道表示并且包含大量数据/噪声,因此处理此类图像需要更多的计算能力。另一方面,灰度图像使这个过程相对容易。

.NET API 将文档转换为灰度

GroupDocs.Conversion for .NET 是一种 API,用于在多种支持的文件格式和图像类型 之间进行文档转换。可以使用多个灵活的选项轻松定制和调整转换结果。我将使用此 API 将 PDF 文档转换为灰度 JPG 和 PNG 图像。

您可以从 下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

PM> Install-Package GroupDocs.Conversion

如果我们谈论它的实现,它是一个后端 API,可以在任何 .NET 应用程序中集成或实现,没有任何依赖性。有关其 API 的更多信息,请访问其 文档.

使用 C# 将 PDF 转换为灰度 JPG 图像

让我们通过将彩色 PDF 文档转换为黑白图像格式来快速实现目标。以下步骤展示了如何使用 C# 将 PDF 转换为灰度 JPG。

  • 使用 Converter 类加载 PDF 文档。
  • 准备图像转换选项
  • 将转换文件格式设置为 JPG。
  • 将灰度选项设置为 true。
  • 使用 Convert 方法转换为图像。

以下 C# 源代码将 PDF 文档转换为灰度 JPG 图像。

// 在 C# 中将 PDF 转换为灰度 JPG
using (Converter converter = new Converter("path/document.pdf"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Jpg,
        Grayscale = true,
        
        // 其他转换选项
        Height = 1024,       
        Width = 1024,
        FlipMode = ImageFlipModes.FlipX,
        RotateAngle = 90,
        /*
        Brightness = 50,// Brightness
        Gamma = 0.5F,   // Gamma Settings
        Contrast = 50   // Contrast
        */
    };
    converter.Convert("path/grayscaleDocument.jpg", options);
}

此外,还有许多其他选项可以控制高度、宽度、水平和垂直翻转以及文档旋转。您还可以将具有不同设置的水印应用于输出图像。

使用 C# 将 PDF 转换为灰度 PNG 图像

同样,彩色 PDF 文档可以转换为其他灰度图像格式。以下步骤展示了如何使用 C# 将 PDF 转换为灰度 PNG。

  • 使用 Converter 类加载 PDF 文档。
  • 准备图像转换选项
  • 将转换文件格式设置为 PNG。
  • 将灰度选项设置为 true。
  • 使用 Convert 方法转换为 PNG 图像。

以下 C# 源代码将 PDF 文档转换为灰度 PNG 图像。

// 在 C# 中将 PDF 转换为灰度 PNG
using (Converter converter = new Converter("path/document.pdf"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        Grayscale = true
    };
    converter.Convert("path/grayscaleDocument.png", options);
}

获取免费的 API 许可证

您可以 获得免费的临时许可证 以不受评估限制地使用 API。

结论

最后,我们了解了如何在 C# 中将 PDF 文档转换为 JPG 或 PNG 图像格式。要构建您自己的转换应用程序,您可以从 文档 中了解有关低代码和高代码转换自动化 .NET API 的更多信息。

最好的方法是体验 GitHub 上提供的示例。如有任何疑问,请通过 论坛 联系我们。

也可以看看