首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TallComponents PDF Rasterizer.NET convertToWPF内存错误

TallComponents PDF Rasterizer.NET convertToWPF内存错误
EN

Stack Overflow用户
提问于 2013-04-16 23:49:51
回答 1查看 830关注 0票数 2

我正在尝试使用TallComponents PDF光栅化器来栅格化PDF

在tiff上工作得很好..虽然我想ConvertToWpf..

我直接问了他们这个问题,虽然没有回应。

因此,我遵循了他们的示例代码..

代码语言:javascript
复制
        TallComponents.PDF.Rasterizer.Document _document;
        using (FileStream file = new FileStream(pSource, FileMode.Open, FileAccess.Read))
        {
            _document = new TallComponents.PDF.Rasterizer.Document(file);
        }

        TallComponents.PDF.Rasterizer.Configuration.RenderSettings rSettings = new TallComponents.PDF.Rasterizer.Configuration.RenderSettings();
        rSettings.TextSettings.ResolveFont += new TallComponents.PDF.Rasterizer.Fonts.ResolveFontEventHandler(TextSettings_ResolveFont);

        TallComponents.PDF.Rasterizer.ConvertToWpfOptions rOptions = new TallComponents.PDF.Rasterizer.ConvertToWpfOptions();
        TallComponents.PDF.Rasterizer.Diagnostics.Summary summary = new TallComponents.PDF.Rasterizer.Diagnostics.Summary();

        int count = _document.Pages.Count;
        for (int i = 0; i < count; i++)
        {

        using (FileStream outStream = new FileStream(path, FileMode.Create)) 
        { 
             System.Windows.Documents.FixedPage fpage = _document.Pages[i].ConvertToWpf(rSettings, rOptions, summary); 

             double width = fpage.Width * rasterize.rast_dpiX / system.scr_dpiX; 
             double height = fpage.Height * rasterize.rast_dpiY / system.scr_dpiY; 

             RenderTargetBitmap renderTarget = new RenderTargetBitmap( 
             (int)width, 
             (int)height, 
             rasterize.rast_dpiX, 
             rasterize.rast_dpiY, 
             System.Windows.Media.PixelFormats.Default); 

             renderTarget.Render(fpage); 

             PngBitmapEncoder enc = new PngBitmapEncoder(); 
             enc.Frames.Add(BitmapFrame.Create(renderTarget)); 
             enc.Save(outStream); 

        } 

当我使用只有一页的pdf时,它可以工作。

当我使用超过1页的pdf时,我得到内存不足的错误。

当我使用超过1页的pdf文件时,从第2页开始,跳过第一页,它可以工作。虽然所有的页面都是空白的,但我说我只能栅格化第一页,因为这是一个试验。

我得到内存错误,因为它是一个试用产品?

EN

回答 1

Stack Overflow用户

发布于 2013-06-23 15:15:25

最有可能的是,在第一页上有一个图像(或另一个巨大的PDF对象),在处理之后,您会得到一个异常。这个异常中断了进一步的渲染,你得到了一个空白的2,3,4...页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16041501

复制
相关文章

相似问题

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