2016-11-15 6 views
0

필자는이 샘플 코드를 가지고 있지만 작동하지는 않습니다. 내 질문에 PDF로 .wmf 파일을 변환/추가하는 방법입니다. .WMF 밖으로 바이트를 읽고 나중에 PDF 작성자에게 저것을 추가하려고, 그와 이미지를 만들려고 .wmf를 .wf로 변환/추가하는 방법

private void CreatePDF() 
    { 
     Document pdfDoc = new Document(); 
     PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create)); 

     byte[] b = File.ReadAllBytes(@"path.wmf"); 

     iTextSharp.text.Image img1 = new ImgWMF(b); 
     pdfDoc.Add(img1); 
     pdfDoc.Close(); 
    } 

스피

.

Iam은 내가 그런 식으로 바이트를 읽을 수 없습니다. 어떤 도움을 주셔서 감사합니다.

친절 감사합니다, ChekaZ

답변

0

당신은 ImgWMF 클래스를 사용할 필요가 없습니다; 단계를 건너 뛰었 기 때문에 코드가 작동하지 않습니다. pdfDoc을 열지 않습니다.

나는 C#을 개발자 아니지만, 이것은 내가 (시도) 코드를 해결하는 것입니다 방법입니다

Document pdfDoc = new Document(); 
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create)); 
pdfDoc.Open(); 
iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf"); 
pdfDoc.Add(img1); 
pdfDoc.Close(); 

GetInstance() 방법은 매개 변수로 전달하는 이미지 파일을 검사합니다. 문제가 해결되지 않으면 던져진 예외를 공유하십시오.

PDF 페이지의 크기는 A4이고 이미지가 맞지 않거나 페이지가 너무 클 수 있습니다. 이 경우, 먼저 이미지를 생성해야하고,이처럼 PDF를 만들 : 많이, 당신의 대답은 조금 편집, 지금은 완벽하게 작동

iTextSharp.text.Image img1 = ImgWMF.GetInstance(@"path.wmf"); 
Document pdfDoc = new Document(img1); 
PdfWriter.GetInstance(pdfDoc, new FileStream(@"path.pdf", FileMode.Create)); 
pdfDoc.Open(); 
img1.SetAbsolutePosition(0, 0); 
pdfDoc.Add(img1); 
pdfDoc.Close(); 
+0

감사합니다! 친절하게, ChekaZ – ChekaZ