C# 在windows phone 8.1上将pdf的第一页转换为图像
我想将pdf的第一页转换为要在gridview上显示的图像。选择图像后,pdf将根据我选择的图像打开。如何在windows phone 8.1上将pdf的第一页转换为图像?我认为一个名为MuPDF的库是一个不错的选择。我找到了一个WinRT()的旧示例项目,它包含一个简单的PDF查看器,它基本上将每个页面转换为一个可写的位图,然后显示在屏幕上 下面是代码的一部分,用于执行此操作:C# 在windows phone 8.1上将pdf的第一页转换为图像,c#,pdf,image-processing,windows-phone-8.1,C#,Pdf,Image Processing,Windows Phone 8.1,我想将pdf的第一页转换为要在gridview上显示的图像。选择图像后,pdf将根据我选择的图像打开。如何在windows phone 8.1上将pdf的第一页转换为图像?我认为一个名为MuPDF的库是一个不错的选择。我找到了一个WinRT()的旧示例项目,它包含一个简单的PDF查看器,它基本上将每个页面转换为一个可写的位图,然后显示在屏幕上 下面是代码的一部分,用于执行此操作: async Task<WriteableBitmap> ConstructPageAsync()
async Task<WriteableBitmap> ConstructPageAsync()
{
var size = Document.GetPageSize(PageNumber);
var width = (int)(size.X * ZoomFactor);
var height = (int)(size.Y * ZoomFactor);
var image = new WriteableBitmap(IsDoublePage ? width * 2 : width, height);
IBuffer buf = new Buffer(image.PixelBuffer.Capacity);
buf.Length = image.PixelBuffer.Length;
if (IsDoublePage)
{
await Task.Run(() => Document.DrawFirtPageConcurrent(PageNumber, buf, width, height));
await Task.Run(() => Document.DrawSecondPageConcurrent(PageNumber + 1, buf, width, height));
}
else
{
Document.DrawPage(PageNumber, buf, 0, 0, width, height, false);
}
// copy the buffer to the WriteableBitmap ( UI Thread )
using (var stream = buf.AsStream())
{
await stream.CopyToAsync(image.PixelBuffer.AsStream());
}
return image;
}
异步任务ConstructPageAsync()
{
var size=Document.GetPageSize(页码);
变量宽度=(int)(size.X*ZoomFactor);
变量高度=(int)(size.Y*ZoomFactor);
var image=新的可写位图(IsDoublePage?宽度*2:宽度,高度);
IBuffer buf=新缓冲区(image.PixelBuffer.Capacity);
buf.Length=image.PixelBuffer.Length;
如果(IsDoublePage)
{
等待任务。运行(()=>Document.DrawFirtPageConcurrent(页码、buf、宽度、高度));
等待任务。运行(()=>Document.DrawSecondPageConcurrent(页码+1,buf,宽度,高度));
}
其他的
{
文档.绘图页(页码,buf,0,0,宽度,高度,假);
}
//将缓冲区复制到WriteableBitmap(UI线程)
使用(var stream=buf.AsStream())
{
等待stream.CopyToAsync(image.PixelBuffer.AsStream());
}
返回图像;
}
它需要一些工作才能在Windows Phone 8.1中运行,但我认为这是一个良好的开端。您的应用程序中是否实现了pdf查看器?或者你是否使用第三方应用程序来显示pdf?我使用component one来读取pdf,也许你可以试试这个?不使用按钮也不使用屏幕显示。但是,在我从服务器下载pdf后,pdf会自动将pdf的第一页转换为图像并显示在GridView上我一直使用mupdf将pdf的第一页转换为图像,但一旦我将应用程序提交到windows phone store,应用程序被拒绝,因为MuPDFWinRT.dll容器检查失败,我找不到任何其他可用库。XFINIUM.PDF看起来不错,他们的示例应用程序运行良好。不幸的是,它大约要500美元。