[英]Error on editing Existing PDF document : PDF header signature not found
我正在嘗試將內容添加到現有的PDF文件中。 但是代碼給我以下錯誤,
com.itextpdf.text.exceptions.InvalidPdfException:找不到PDF標頭簽名。
這是我的代碼,我在這里做什么錯?
import java.awt.Color;
import java.io.FileOutputStream;
import com.itextpdf.text.Anchor;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;
public class PDF {
/**
* @param args
*/
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream("output.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
// Load existing PDF
PdfReader reader = new PdfReader(new PdfReader(
"input.pdf"));
PdfImportedPage page = writer.getImportedPage(reader, 1);
// Copy first page of existing PDF into output PDF
document.newPage();
cb.addTemplate(page, 0, 0);
// Add your new data / text here
// for example...
Font font = new Font();
font.setColor(BaseColor.BLUE);
font.setStyle(Font.UNDERLINE);
Paragraph paragraph = new Paragraph();
paragraph.setLeading(0, 25);
paragraph.setAlignment(Paragraph.ALIGN_LEFT);
paragraph.setAlignment(Paragraph.ALIGN_BASELINE);
Chunk chunk = new Chunk("Java", font)
.setAnchor("http://www.google.com");
paragraph.add(chunk);
document.add(paragraph);
document.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
嘗試更換您的線
PdfReader reader = new PdfReader(new PdfReader("input.pdf"));
與
PdfReader reader = new PdfReader("input.pdf");
這應該做。 而且不要忘了之后關閉讀者...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.