0

내 Lightswitch 데스크톱 응용 프로그램 (Silverlight 클라이언트)에서 silverPDF를 사용하여 인보이스를 만듭니다. 이미지 (회사 로고)를 추가 할 때까지 모든 것이 잘 작동합니다.lightswitch silverPDF 문서에 이미지를 추가하려면 어떻게해야합니까?

내 이미지는 lightswitch 이미지 화면 컨트롤을 통해 이미지 유형 (바이트 arrray)으로 데이터베이스에 저장되는 이미지입니다. 늘어나는만큼 내가 silverPDF의 XImage로 다음 메모리 스트림에 바이트 배열을로드 할 필요가 말할 수 있습니다. 코드 스 니펫은 다음과 같습니다 :

   Dim memStream As New MemoryStream(100) 
       memStream.Write(CompDetProp.CompanyLogo, 0, CompDetProp.CompanyLogo.Length) 
       Dim myimage As XImage = XImage.FromStream(memStream) 
       Dim x As Double = (250 - myimage.PixelWidth * 72/myimage.HorizontalResolution)/2 
       gfx.DrawImage(myimage, x, 10) 

이 컴파일됩니다. "바이트 배열이 인식 된 이미지 형식이 아닙니다."를 실행하면 예외가 발생합니다. - 지금까지 내가 말할 수있는

   Dim memStream As MemoryStream = New MemoryStream(CompDetProp.CompanyLogo, 0, CompDetProp.CompanyLogo.Length) 
       Dim myimage As XImage = XImage.FromStream(memStream) 
       Dim x As Double = (250 - myimage.PixelWidth * 72/myimage.HorizontalResolution)/2 
       gfx.DrawImage(myimage, x, 10) 

이 두 번째 코드 블록은 사용되기 전에 메모리 스트림 폐쇄 있습니다

은 또한 다음과 같은 노력했다.

어떻게 닫고 올바른 형식으로 silverPDF XImage가 읽는 스트림으로 이미지를 가져올 수 있습니까?

+0

이미지가 silverPDF에서 지원하는 형식인지 확인하십시오. 어떤 이미지 형식을 가지고 있는지 알지 못하며, silverPDF가 지원하는 형식도 알지 못합니다. 하지만 예외는 이미지 형식이 지원되지 않는다는 것을 알려주려는 것입니다. –

답변

0

PDFsharp Expert에서 의견을 찾았는데 사용중인 이미지가 .png 파일이었습니다. 나는 이미지를 .jpg로 저장하고 코드가 작동했다. 이제 인보이스에 이미지가 생겼으나 (올바른 크기를 유지하려면 크기 제한이 필요합니다). PDFsharp 전문가 감사합니다.