2017-10-26 4 views
0

iText7에서 pdf로 변환하는 데 사용할 수있는 방법을 알려주십시오. Itexsharp에는 pdf 파일을 이미지로 변환하는 옵션이있었습니다. 다음은 링크입니다. iTextSharp를 사용하여 PDF로 이미지 http://www.c-sharpcorner.com/UploadFile/a0927b/create-pdf-document-and-convert-to-image-programmatically/iText7 이미지로 PDF 변환

다음은 참조 링크를 사용하여 작성된 샘플 코드입니다. itext7 pdf to image 예상대로 작동하지 않습니다. pdf를 이미지로 변환하지 않습니다. 1kb의 빈 이미지를 만듭니다. 브루노을 인용

string fileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath); 
var pdfReader = new PdfReader(inputFilePath); 
var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader); 
int pagesLength = pdfDoc.GetNumberOfPages()+1; 
for (int i = 1; i < pagesLength; i++) 
{ 
    if (!File.Exists(System.IO.Path.Combine(imageFileDir, fileName + "_" + 
`enter code here`(startIndex + i) + ".png")) && i < pagesLength) 
    { 

     PdfPage pdfPages = pdfDoc.GetPage(i); 
     PdfWriter writer = new PdfWriter(System.IO.Path.Combine(imageFileDir, fileName + "_" + (startIndex + i) + ".png"), new WriterProperties().SetFullCompressionMode(true)); 
     PdfDocument pdf = new PdfDocument(writer); 
     PdfFormXObject pageCopy = pdfPages.CopyAsFormXObject(pdf); 
     iText.Layout.Element.Image image = new iText.Layout.Element.Image(pageCopy); 
    } 
} 
+0

첫 번째 링크는 iText를 사용하여 pdf를 이미지로 변환하지 않습니다. 두 번째 링크는 않습니다. –

+1

또한 :'PdfWriter' 클래스를 사용하여 확장자가 .png 인 파일을 생성하고 있습니다. 'PdfWriter' 인스턴스로 PNG 파일을 생성 할 수 없습니다. 나는 더 많이 말하고 싶다. 당신은 iText로 PNG 파일을 만들 수 없다. iText **는 PDF를 래스터 이미지 (예 : .jpg, .png, ...)로 변환하지 않습니다. 기존 페이지를 기반으로 'Image' 인스턴스를 만드는 예제를 잘못 해석하고 있습니다. 이러한 예제는 벡터 이미지 인 것처럼 새로운 PDF *에서 재사용 할 수있는 XObject를 만듭니다. PDF 페이지를 래스터 이미지로 변환하지 않습니다. –

답변

1

:

iText를 래스터 이미지를 PDF 파일로 변환하지 않습니다 (예 : .JPG 등을, .PNG, ...). 기존 페이지를 기반으로 Image 인스턴스를 만드는 예제를 잘못 해석하고 있습니다. 이러한 예제는 마치 벡터 이미지 인 것처럼 새로운 PDF에서 재사용 할 수있는 XObject를 생성합니다. PDF 페이지를 래스터 이미지로 변환하지 않습니다.

(iText에서 내부적으로 사용하는 테스트 용)은 GhostScript입니다. pdf를 입력으로 받아 일련의 이미지 (페이지 당 하나의 이미지)로 변환합니다.