首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保存使用PdfPig提取的图像

保存使用PdfPig提取的图像
EN

Stack Overflow用户
提问于 2021-05-22 12:12:20
回答 1查看 357关注 0票数 0

我正在使用PdfPig在控制台应用程序(.Net Core)项目中使用C#进行实验。

下面的代码打算从PDF中获取图像并将它们保存到我的桌面上:

代码语言:javascript
运行
复制
IEnumerable<IPdfImage> images = page.GetImages();

foreach (IPdfImage image in images)
{
    Console.WriteLine(image);
    byte[] bitmap = image.RawBytes.ToArray();
    string exportPath = @"C:\Users\ed\Desktop\" + Guid.NewGuid().ToString() + ".jpg";   
    System.IO.File.WriteAllBytes(exportPath, bitmap);
}

从控制台输出中,我可以看到两个图像是从我正在测试的PDF中提取的:

代码语言:javascript
运行
复制
XObject Image (w 595.1999999999999, h 841.92): <Type, /XObject>, <Subtype, /Image>, <Width, 2480>, <Height, 3508>, <BitsPerComponent, 1>, <ColorSpace, /DeviceGray>, <Filter, /CCITTFaxDecode>, <DecodeParms, <Columns, 2480>, <Rows, 3508>>, <Length, 381787>

XObject Image (w 595.1999999999999, h 841.92): <Type, /XObject>, <Subtype, /Image>, <Width, 2480>, <Height, 3508>, <BitsPerComponent, 1>, <ColorSpace, /DeviceGray>, <Filter, /CCITTFaxDecode>, <DecodeParms, <Columns, 2480>, <Rows, 3508>>, <Length, 241054>

我的桌面上也创建了两个.jpg文件;但是,当我打开该文件时,它的输出出现了问题。例如,我得到了错误消息:

代码语言:javascript
运行
复制
97266a2b-5e2b-49e1-8b19-f6716f294a4d.jpg it appears that we don't support this file format.

请有人建议如何修改这一点;我怀疑我是如何创建图像文件的问题。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-08-10 10:50:55

试试这段代码

代码语言:javascript
运行
复制
IReadOnlyList<byte> bytes = Array.Empty<byte>();
if (imageItem.TryGetBytes(out bytes))
{
    bytes = imageItem.RawBytes;
}
using var stream = new MemoryStream(bytes.ToArray());
using var image = SixLabors.ImageSharp.Image.Load(stream, out IImageFormat format);
image.SaveAsJpeg(pathToFileJpeg);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67649319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档