Объединение PDF-файлов между другими PDF-файлами в java с использованием IText или PDFBox - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть два PDF-файла A и B, у меня есть требование, где мне нужно объединить оба этих PDF-файла на основе условия. Как, если я нахожу строку типа «присоединить PDF» в моем A, мне нужно объединитьB-файл в A с этой конкретной страницы в A. Например, если я найду слово на странице № 3 в моем A-файле, мне нужно объединить B-файл со страницы №: 3.Я использую I-Text 5.5.10.Можно ли добиться этого в I-Text или PDFBox.Вот то, что я пробовал на данный момент.

  public static void mergePdf() throws IOException, DocumentException 
{
    PdfReader reader1 = new PdfReader("C:\\Users\\user1\\Downloads\\generatedSample.pdf");
    PdfReader reader2 = new PdfReader("C:\\Users\\user1\\Desktop\\sample1.pdf");
    Document document = new Document();
    document.addHeader("Header Text", "");
    FileOutputStream fos = new FileOutputStream("C:\\Users\\user1\\Downloads\\MergeFile.pdf");
    PdfCopy copy = new PdfCopy(document, fos);
    document.open();
    PdfImportedPage page;
    PdfCopy.PageStamp stamp;
    Phrase phrase;
    BaseFont bf = BaseFont.createFont();
    Font font = new Font(bf, 9);
    int n = reader1.getNumberOfPages();

    for (int i = 1; i <= reader1.getNumberOfPages(); i++) 
    {
        page = copy.getImportedPage(reader1, i);
        stamp = copy.createPageStamp(page);
        ColumnText.showTextAligned(stamp.getOverContent(), Element.ALIGN_CENTER, null, 520, 5, 0);
        stamp.alterContents();
        copy.addPage(page);
    }

    for (int i = 1; i <= reader2.getNumberOfPages(); i++) 
    {
        page = copy.getImportedPage(reader2, i);
        stamp = copy.createPageStamp(page);
        ColumnText.showTextAligned(stamp.getOverContent(), Element.ALIGN_CENTER, null, 520, 5, 0);
        stamp.alterContents();
        copy.addPage(page);
    }
    document.close();
    reader1.close();
    reader2.close();
}

Спасибо за решение заранее !!

...