2013-06-10 2 views
1

그래서 저는 기본 Java API 만 사용할 수 있으며 외부 Java API는 사용할 수 없습니다.Java로 PDF 파일 만들기

PDF로 쓰려면 어떻게해야합니까?

필자는 FileOutputStream을 사용하여 쓰기 만 시도했지만 작동하지 않았습니다.

나는 그것이 바이트를 사용하여 작성해야합니다 들었, 그래서 나는 시도했다 : 나는 파일을 여는 시도 할 때

byte[] buffer = new String("Test");

, 그것은 손상되고 열 수 없습니다 말했다.

+0

PDF 포맷은 어도비의 철 고유의 주먹에 의해 소유되고 또한 복잡한 이미지 파일, 텍스트가 아닌입니다. –

+0

어떤 종류의 문서를 만들고 싶습니까? 표준 14 글꼴 만 사용하는 작은 글꼴 만 있으면, 이미지가 없기 때문에 가벼운 PDF 작성 클래스가 가능합니다. 그렇지 않으면 ... 글쎄, 자신의 PDF 라이브러리를 만드는 데 몇 년을 보낼 준비를하십시오. [PDF 사양] (http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf)은 사용자가 이해하고 코드에 입력해야하는 부분 중 일부입니다. – mkl

+1

@SlaterTyranus 그것은 ISO 표준이기도합니다. 대부분의 사람들은 그걸로 살 수 있습니다. –

답변

0

이렇게하는 방법에는 몇 가지가 있습니다.

다음 등

Create PDF with Java

+1

외부 API의 –

+0

@ChrisShafer를 사용할 수 없다면, 귀하의 요구 사항이 pdf API를 작성하는 것이 아니라면, 기존 API를 사용해야합니다. – A4L

0

PDF 형식은 매우 복잡하고 생성 할 간단하지 않다 당신이 스타일을 위해 사용할 수있는 몇 가지 다른 라이브러리가 있습니다.

좋은 라이브러리를 사용하여 도움을 받으시기 바랍니다.

+0

그래도 라이브러리를 사용할 수 없습니다. : 방향으로 나를 가리킬 수 있습니까? –

+1

그러면 모든 것을 직접 구현해야합니다. 이것은 대개 큰 작업이 될 것입니다.PDF에 무엇이 필요합니까? 그냥 텍스트? 이미지? 당신 자신을 쓸 필요가없는 것이 있습니까? –

4

PDF를 만드는 것은 단순히 PDF 확장자가있는 파일을 생성하는 문제가 아닙니다. 파일 내에 포함되어야하는 머리말과 꼬리말 정보가 있습니다.

이 작업을 수동으로 수행해야하는 경우 http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf에서 PDF 1.7 사양을 읽을 수 있습니다.

대신 iText와 같은 타사 API (http://itextpdf.com/)를 사용하는 것이 좋습니다.

0

사실 기본 JAVA (또는 다른 언어)로이 작업을 수행 할 수 있지만 절대적으로 수행해야하는 경우가 아니면 실제로이 작업을 수행하지 않으려 고합니다. 트릭은 매우 구체적인 구조로 바이너리 데이터 스트림을 작성해야한다는 것입니다. 이 밖에 아마 더 좋은 문서의 URL은, 그러나 당신이 가능하지의 요구 주위에 얻을 수 있다면이는 처음에는 그게 당신이 필요로하는 것 같다 정보의 종류를 제공 할 것으로 보인다 발생 하나 ...

http://resources.infosecinstitute.com/pdf-file-format-basic-structure/

했다 외부 외부 라이브러리 사용하기 아래 링크 된 무료 Apache PDFBox 라이브러리를 살펴 보길 권한다.

http://pdfbox.apache.org/