웹 페이지에서 XML 데이터를 PDF 파일로 변환하려고하는데 JavaScript에서 완전히 수행 할 수 있기를 바랍니다. 텍스트, 이미지 및 간단한 도형을 그릴 수 있어야합니다. 브라우저에서 완전히 할 수 있기를 바랍니다.
답변
방금 Javascript 만 사용하여 PDF를 생성하는 jsPDF 라는 라이브러리를 작성했습니다 . 아직 어려서 기능과 버그 수정을 곧 추가 할 예정입니다. 또한 데이터 URI를 지원하지 않는 브라우저의 해결 방법에 대한 몇 가지 아이디어가 있습니다. 자유 MIT 라이센스에 따라 라이센스가 부여되었습니다.
나는 쓰기 시작하기 전에이 질문을 보았고 돌아와서 당신에게 알려 줄 것이라고 생각했습니다 🙂
예를 들어 “Hello World”PDF 파일을 작성하십시오.
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
답변
언급 할 가치가있는 또 다른 자바 스크립트 라이브러리는 pdfmake 입니다.
브라우저 지원은 jsPDF만큼 강력하지 않으며 모양 옵션도 보이지 않지만 텍스트 서식 옵션은 현재 jsPDF에서 사용할 수있는 옵션보다 고급입니다.
답변
PDFKit을 유지 관리하며 pdfmake (이미 언급되어 있음)도 지원합니다. 노드와 브라우저 모두에서 작동하며 다른 라이브러리가 지원하지 않는 많은 것들을 지원합니다.
- 유니 코드를 지원하는 서브셋 글꼴 포함
- 많은 고급 텍스트 레이아웃 항목 (열, 페이지 나누기, 전체 유니 코드 줄 바꿈, 기본 서식있는 텍스트 등).
- 고급 타이포그래피 (OpenType / AAT 합자, 문맥 대체 등)를위한 더 많은 글꼴 작업. 출시 예정 : 관심이 있다면 fontkit 분기를 참조하십시오.
- 더 많은 그래픽 자료 : 그라디언트 등
- browserify 및 스트림과 같은 최신 도구로 구축되었습니다. 브라우저와 노드 모두에서 사용할 수 있습니다.
PDFKit이 수행 할 수있는 작업을 직접 확인하려면 전체 자습서를 보려면 http://pdfkit.org/ 를 확인하십시오 . 그리고 어떤 종류의 문서를 생성 할 수 있는지에 대한 예를 보려면 PDFKit 자체를 사용하여 일부 Markdown 파일에서 생성 된 PDF로 문서를 확인하십시오 ( http://pdfkit.org/docs/guide.pdf) .
http://pdfkit.org/demo/browser.html 브라우저에서 대화식으로 사용해 볼 수도 있습니다 .
답변
또 다른 흥미로운 프로젝트는 texlive.js 입니다.
브라우저에서 (La) TeX를 PDF로 컴파일 할 수 있습니다.
답변
모든 URL에서 pdf를 생성하는 링크를 추가하면이 무료 서비스를 사용할 수 있습니다 (예 : http://www.phys.org ).
답변
JavaScript에서 PDF 인 메모리를 생성 할 수 있다고해도 해당 데이터를 사용자에게 전송하는 방법에 여전히 문제가 있습니다. JavaScript가 사용자에게 파일을 푸시하는 것은 어렵습니다.
파일을 사용자에게 가져 오려면 브라우저가 저장 대화 상자를 표시하도록 서버 제출을 수행하려고합니다.
그러나 PDF를 생성하는 것은 그리 어렵지 않습니다. 사양을 읽으십시오.