2017-02-20 1 views
0

jSignature javascript를 사용하여 SVG에 서명을 저장하고 있습니다. 이제는 SVG를 PDF 문서 위에 서명 공백으로 두려고합니다.PDFSharp; PDF 파일에 SVG 서명 추가

SVG를 파일로 변환하고 SVG (SVG 렌더링 라이브러리 2.3.0)로 파일을 열고 스트림으로 변환 한 다음 PDFSharp로 PDF에 저장하면됩니다. 내 문제는 문자열에서 SVG 라이브러리를로드 할 수 없다는 것입니다. 파일에서로드해야합니다. 나는 그들의 양식 관련 데이터와 함께 데이터베이스에서 이러한 서명을 가져오고있다.

Dim FileText As String 
Dim Bytes() As Byte 
Using DB As New wotcDB 
    FileText = (From t In DB.interviews Where t.ID = 1 Select t.Signature).FirstOrDefault 
End Using 

Bytes = System.Text.Encoding.ASCII.GetBytes(FileText) 
Using DataStream As New System.IO.MemoryStream(Bytes) 
    svgDocument = Svg.SvgDocument.Open(DataStream) 'Issue 
End Using 

오류는 다음과 같습니다.

Severity Code Description Project File Line Suppression State 
Error BC30518 Overload resolution failed because no accessible 'Open' can be called with these arguments: 
'Public Shared Overloads Function Open(Of T As {SvgDocument, New})(path As String) As T': Type parameter 'T' cannot be inferred. 
'Public Shared Overloads Function Open(Of T As {SvgDocument, New})(stream As Stream) As T': Type parameter 'T' cannot be inferred. WOTC-FE d:\Programming\Applications\frmDebug.vb 54 Active 

오버로드가 스트림을 사용할 수 있음을 명확하게 보여줄 때 그래픽으로 변환 할 파일을 만드는 아이디어가 싫습니다. 내가 뭘 잘못하고 있니?

+0

PDFSharp를 사용하여 PDF에 넣을 때'svgDocument.Draw()'를 사용합니까? – Azimuth

답변

0

답변을 찾았습니다. 이미 시도했지만 실패했지만 지금은 효과가 있습니다. 형식이 유추 할 수 없기 때문에이를 선언해야했습니다. 나는 이것을 시내로하려고 시도했지만 실패했다. 잘 오늘 나는 그것을 통해 일하기로 결정했고, 알았다.

mySVG = SvgDocument.Open(Of SvgDocument)(newStream) 

너무 뻔한 나는 그것을 넘었다. 그래서이 문제를 가지고있는 다른 누구에게나, 그것을 해결합니다. 내 프로그램에서 Option Explicit, Option Strict를 실행한다는 점에 유의하십시오.

0

메모장에서 svg 파일을 열고 실제로 ASCII 인코딩을 사용하는지 확인하십시오. 나는 이것이 UTF-8 일 가능성이 더 높다고 생각한다. 그렇다면 대신

Bytes = System.Text.Encoding.UTF8.GetBytes(FileText) 

을 사용하십시오.

+0

내가 얻는 오류는 런타임이 아닌 빌드시입니다. – Kayot