문제
PDF 양식을 채운 다음 PDF 파일로 저장(평탄화)하는 데 사용할 수 있는 PHP 라이브러리가 있습니까?
해결책
여기에 언급된 라이브러리와 프레임워크는 훌륭하지만, 양식을 채우고 평면화하는 것이 전부라면 pdftk(PDF Toolkit)라는 명령줄 도구를 추천합니다.
보다 https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
PHP에서 명령줄을 호출할 수 있으며 명령은 다음과 같습니다.
pdftk
양식파일.pdf fill_form
fieldinfo.fdf output
출력파일.pdf flatten
필드를 채울 정보를 생성하려면 FDF 파일의 형식을 찾아야 합니다.이에 대한 좋은 링크는 다음과 같습니다.
http://www.tgreer.com/fdfServe.html
[편집하다:위 링크는 커미션이 아닌 것 같습니다.여기에 더 많은 정보가 있습니다...]
pdftk 명령은 PDF 양식 파일에서 FDF 파일을 생성할 수 있습니다.그런 다음 생성된 FDF 파일을 샘플로 사용할 수 있습니다.양식 필드는 다음과 같은 FDF 파일의 일부입니다.
...
<< /T(f1-1) /V(text of field) >>
<< /T(f1-2) /V(text of another field) >>
...
확인해 볼 수도 있습니다. PHP-PDFTK, 이는 PHP 전용 라이브러리입니다.저는 사용해본 적이 없지만 댓글 작성자 Álvaro(아래)가 추천했습니다.
다른 팁
허용되는 답변에 큰 +1이고 fdf 파일에 인코딩 문제가 발생하는 경우 약간의 팁입니다.fields.fdf를 생성하고 실행 시
file -bi fields.fdf
당신은 얻는다
application/octet-stream; charset=binary
그러면 UTF-16 문자 집합 문제가 발생할 가능성이 높습니다.다음을 통해 ftf를 변환해 보세요.
cat fields.fdf | sed -e's/\x00//g' | sed -e's/\xFE\xFF//g' > better.fdf
그런 다음 better.fdf 파일을 편집하고 내 PDF 형식으로 가져올 수 있었습니다.
이것이 누군가의 Google 검색을 절약하기를 바랍니다.
나는 fpdf를 사용하고 양식 필드를 변수 가져오기로 전달하는 PHP 스크립트에 제출하는 양식을 사용하여 많은 성공을 거두었습니다(아마도 훌륭한 모범 사례는 아니지만 작동합니다).
<?php
require('fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetY(30);
$pdf->SetX(100);
$pdf->MultiCell(10,4,$_POST['content'],0,'J');
$pdf->Output();
?>
그리고 당신은 이런 것을 가질 수 있습니다.
<form action="fooPDF.php" method="post">
<p>PDF CONTENT: <textarea name="content" ></textarea></p>
<p><input type="submit" /></p>
</form>
이 골격 예제는 시작하는 데 도움이 될 것입니다.
PHP로 fdf 파일 생성:보다 http://www.php.net/manual/en/book.fdf.php
그런 다음 pdftk를 사용하여 pdf로 작성하십시오(위 참조).
이 된 것 같네요 전에 덮여.Zend Framework PDF 라이브러리를 사용하여 관련 코드를 클릭하세요.
우리는 사용 PDFLib 직장에서.유료 버전은 그다지 비싸지 않으며, 유료 버전을 구입할 수 없는 경우에는 더 제한된 오픈 소스 버전이 있습니다.