Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정태운 (hayohayo at naver.com)
홈페이지
첨부 파일
 

안녕하세요?

Vista Beta2 에서 잘 동작하던 코드가 RC1 에서 동작하지 않네요?
어떤 이유인지 모르겠습니다.

정성태님이 알려주신 소스를 다소 수정하여서 사용하고 있는데,
해당 소스의 내용은,
XPS Document를 읽어와서 Bitmap 이미지로 변환하는 소스입니다.

알려주신 소스는 하기 URL 의 게시판에 있구요,
게시판에 쓰여진 소스를 아래에 한번 더 붙여넣기 하였습니다.

https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&pageno=0&detail=1&wid=229

동작되지 않는 부분은

DocumentPage aPage = fixedDocumentSeq.DocumentPaginator.GetPage( i );
부분으로,

XPS Document 의 각 페이지를 가져와서 DocumentPage Type 에 할당해 준 다음,
Bitmap 이미지로 생성해 주어야 하는데...

fixedDocumentSeq.DocumentPaginator.GetPage(Zero Based 페이지 번호);
부분에서 동작하지 않고 죽어 버립니다.

혹시 원인을 알고 계신지 여쭙겠습니다. 감사합니다.


=====<알려주신 소스 원본>=======================================================

using System.IO;
using System.Windows.Documents;
using System.Windows.Xps.Packaging;
using System.Windows.Media.Imaging;
using System.Windows.Xps.Serialization;

namespace WindowsApplication1
{
    public class XpsBitmapHelper
    {
        static public void SaveXpsPageToBitmap(string xpsFileName, int[] pages)
        {
            XpsDocument xpsDoc = new XpsDocument(xpsFileName, System.IO.FileAccess.Read);

            FixedDocumentSequence fixedDocumentSeq = xpsDoc.GetFixedDocumentSequence();

            for ( int i = 0; i < fixedDocumentSeq.DocumentPaginator.PageCount; i ++ )
            {
                DocumentPage aPage = fixedDocumentSeq.DocumentPaginator.GetPage( i );

                BitmapImage bitmap = new BitmapImage();

                RenderTargetBitmap renderTarget =
                    new RenderTargetBitmap((int)aPage.Size.Width,
                                            (int)aPage.Size.Height,
                                            96, // WPF (Avalon) units are 96dpi based
                                            96,
                                            System.Windows.Media.PixelFormats.Default);

                renderTarget.Render(aPage.Visual);

                BitmapEncoder encoder = new BmpBitmapEncoder(); // Choose type here ie: JpegBitmapEncoder, etc
                encoder.Frames.Add(BitmapFrame.Create(renderTarget));

                FileStream pageOutStream = new FileStream(xpsDoc + ".Page" + i.ToString() + ".bmp", FileMode.Create, FileAccess.Write);
                encoder.Save(pageOutStream);
                pageOutStream.Close();
            }
        }
    }
}










[최초 등록일: ]
[최종 수정일: 9/20/2006]


비밀번호

댓글 작성자
 



2006-09-25 08시57분
죄송합니다. 답변이 무지 늦어지고 있습니다.
아직 검토도 안해 봤고요. ^^; 가능하면... 이번 주중으로 한번 보고 답변을 다시 드리도록 하겠습니다.

kevin25
2006-09-28 10시58분
이상하군요. 저도 예전 소스로 해봤지만... 문제가 없습니다.
한가지 틀린 것이라면, 저는 테스트를 Vista RC1 Build 5728 버전에서 수행했습니다. 암튼, 위의 소스는 잘 구동이 되었습니다.
kevin25

... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
854임동찬1/12/201019534이벤트 핸들러와 쓰레드의 관계 [1]
853장근배1/12/201018843압축 프로그램,, [1]
852임동찬1/6/201016221base.OnStart(agrs) [1]
851한귀순1/6/201021680oracle & transaction 질문 [5]
850박한주12/31/200918852COM과 C#간 권한 문제에 관해 여쭤봅니다. [5]
848날쌘돌이12/22/200919839C#으로 개발하는 ActiveX 디버깅 문제 [5]
847최승문12/16/200918603winform에서 웹서비스를 이용할때, 객체가 전송안되는 문제... [2]
846이강구12/14/200917587ATL COM 제작 문의 [3]
845김재영12/9/200920387ClickOnce에서 WinForm을 배포시 변동되는 Args값을 넘길 수 있나요? [3]파일 다운로드1
843김재영12/2/200917999Hyper-V 사용에 대해여 질문이 있습니다. [2]
842한귀순12/1/200920774Attempted to read or write protected memory [2]
841장근배11/30/200922431첨부 파일 Download시 한글 Name [2]
844장근배12/3/200916986    답변글 [답변]: 첨부 파일 Download시 한글 Name파일 다운로드1
840박영민11/20/200916827웹 애플리케이션 질문입니다. [1]
837left...10/21/200917608아래 게시글 관련하여 추가 질문 [3]
836left...10/19/200918583ActiveX 상에서 암시적 dll 로드 [1]
832김우진10/15/200915187C# 에서 swa + security 구현 방법이 없을까요?
833정성태10/15/200919357    답변글 [답변]: C#에서 swa + security 구현 방법이 없을까요? [1]
834김우진10/15/200915420        답변글 예제 메시지 올려드릴께요. [2]파일 다운로드1
838이영우10/30/200915340            답변글 국세청 전자세금계선서에 관하여 문의드립니다.
831채승수10/13/200917434스마트 클라이언트 GAC 등록 문제 여쭤봅니다... [2]
829박찬용10/9/200929998WebBrowser 컨트롤 사용시 새창을 띄울시 세션/쿠키 공유가 왜 안될까요?? [1]파일 다운로드1
827송창훈9/24/200914967[질문]CAS 설정
828정성태9/28/200918169    답변글 [답변]: [질문]CAS 설정 [1]
825김재영9/18/200916024프레임워크별 비트 지원에 대해서 문의를 드립니다. [2]
821채승수8/27/200915454클릭원스를 비스타에서 실행시 [1]
... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...