我想編一個基本的Java項目,https://sourceforge.net/projects/pdfformfiller2其安裝說明很短:編譯基本的Java項目
確保iText庫,iText的-XTRA-5.x.0.jar和itextpdf- 5.x.0.jar,可由JAVA訪問,例如 這些文件放置在當前文件夾的「lib」子文件夾中。
從獲取最新的:在命令行中你給命令https://sourceforge.net/projects/itext/files/iText/
編譯PdfFormFiller.java
然後(查看使用幫助):
Java的罐子pdfformfiller.jar
我從來沒有編譯過JAR,而且我很難正確編譯PdfFormFiller。這裏就是我已經得到:
wget -O pdfformfiller.zip https://sourceforge.net/projects/pdfformfiller2/files/latest/download
# author mentions 5.2.0, which is not available anymore, so we go for the latest 5.x:
wget http://kent.dl.sourceforge.net/project/itext/5.5.10/itext5-5.5.10.zip
unzip pdfformfiller.zip
unzip itext5-5.5.10.zip -d pdfformfiller/lib
cd pdfformfiller
javac -cp "lib/*" PdfFormFiller.java
mkdir META-INF
echo -e 'Manifest-Version: 1.0\nClass-Path: pdfformfiller.jar\nMain-Class: PdfFormFiller' > META-INF/MANIFEST.MF
jar -cvfm pdfformfiller.jar META-INF/MANIFEST.MF lib PdfFormFiller.class
哪些成功,沒有錯誤,但仍然無法運行:
$ java -jar pdfformfiller.jar
Error: Could not find or load main class PdfFormFiller
我想我失去了一些東西小事?
編輯
完全自動化:
iText5=5.5.10
wget -O pdfformfiller.zip https://sourceforge.net/projects/pdfformfiller2/files/latest/download
wget http://kent.dl.sourceforge.net/project/itext/${iText5}/itext5-${iText5}.zip
unzip pdfformfiller.zip
unzip itext5-${iText5}.zip -d pdfformfiller/lib
cd pdfformfiller
mkdir classes
javac -cp "lib/*" -d ./classes/ PdfFormFiller.java
mkdir META-INF
echo 'Manifest-Version: 1.0' > META-INF/MANIFEST.MF
echo "Class-Path: ./lib/itextpdf-${iText5}.jar ./lib/itext-xtra-${iText5}.jar ./lib/itext-pdfa-${iText5}.jar" >> META-INF/MANIFEST.MF
echo 'Main-Class: PdfFormFiller.PdfFormFiller' >> META-INF/MANIFEST.MF
jar -cvfm pdfformfiller.jar ./META-INF/MANIFEST.MF ./lib -C ./classes/ PdfFormFiller
編輯2
這似乎是從CLI可靠填寫PDF表單的唯一方法:
# list fields in a file:
$ java -jar pdfformfiller.jar input.pdf -l
myfield
# prepare field data:
$ echo 'myfield αβγ' > fields
# specify font, fill the fields, flatten the form:
$ java -jar pdfformfiller.jar input.pdf -f fields -font Times_New_Roman.ttf -flatten output.pdf
工程就像一個魅力!