2

TallComponents PDF Rasterizer を使用して PDF をラスタライズしようとしています

tiffに行くとうまくいきます.. ConvertToWpfにしたかったのですが..

私は彼らに直接この質問をしましたが、応答はありません..

だから、私は彼らのサンプルコードに従いました..

        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); 

        } 

1ページしかないpdfを使用すると機能します..

1 ページを超える PDF を使用すると、メモリ不足のエラーが発生します。

1ページ以上のPDFを使用して2ページ目から開始し、最初のページをスキップすると機能します.すべてのページが空白になりますが、最初のページのみをラスタライズできると言って.

試用版だからメモリエラーになるの?

4

1 に答える 1

1

ほとんどの場合、最初のページに画像 (または別の巨大な PDF オブジェクト) があり、その処理後に例外が発生しました。この例外により、以降のレンダリングが中断され、空白の 2,3,4... ページが表示されます。

于 2013-06-23T07:15:25.253 に答える