2013-09-07 4 views
0

자바 코드에서 PDF 파일을 만들고 싶습니다. 그리고 이것은 내가 아무 문제없이 너무 멀리있는자바 코드에서 PDF 파일 작성 [iText를 사용하지 않고]

public class IOExp { 
    public static void main(String args[]) throws java.io.IOException { 
     java.io.FileOutputStream fout=new java.io.FileOutputStream("MyFile.pdf"); 

     byte [] arr=("Hello World.\n"+"My name is Prateek Mathur, and I am a great programmer.\n").getBytes(); 
     fout.write(arr); 
    } 
} 

MyFile.pdf가 작성되는 기록 된 것을이지만, 열기에, 어도비 리더는이

'Abode Reader can not open 'MyFile.pdf' because it is either not a supported file 
type or because the file has been damaged (for example, it was sent as an email 
attachment and wasn't correctly decoded.' 

이미 익숙하게 메시지 - 나는 다음 표시 iText API를 사용하고 PDF 파일을 수동으로 만드는 방법을 알고 싶습니다.

내 코드의 문제점은 무엇이며 PDF 파일을 성공적으로 작성하려면 어떤 변경 사항을 도입해야합니까 ??

+0

수동으로 PDF 파일을 만들려면 필요한 헤더 바이트를 출력하고 PDF 파일이 내부적으로 어떻게 구성되어 있는지 PDF 형식 사양을 읽어야합니다. 초보자를위한이 페이지를 볼 수 있습니다 (사양을 읽기가 어렵 기 때문에) http://www.planetpdf.com/developer/article.asp?ContentID=navigating_the_internal_struct – Alex

+0

왜? 왜 이미 그것을하는 도서관을 사용할 수 없습니까? 당신이 어떤 정돈되지 않은 이유로 iText를 좋아하지 않는다면, 다른 것들이 있습니다. – EJP

답변

2

확장자가 .pdf 인 파일을 간단히 작성하여 pdf 파일을 만들 수 있다고 생각하지 않습니다. 유효한 pdf를 만들려면 특정 형식의 유효한 헤더 및 내용 바이트가 필요합니다. 우연을 재발 명하기보다는 아파치 PdfBox, ItextPdf 등의 프레임 워크를 사용할 수 있습니다.

2

PDF 파일은 단순한 일반 텍스트 파일과 완전히 다릅니다. 당신이 만든 것은 일반 텍스트 파일입니다. 확장자를 .txt으로 변경하면 일반 텍스트 편집기로 열 때 텍스트가 그대로 표시됩니다. PDFBox과 같은 라이브러리를 사용하십시오.