2017-01-24 1 views
1

У меня возникли трудности с добавлением номеров страниц в pdf.Нахождение сложности при добавлении страницы numbersto pdf без использования itext с помощью java

Есть несколько файлов, которые будут преобразованы в PDF в конце концов, эти файлы могут быть:

  • Docx
  • HTML
  • и т.д.

В конце зависимости от система объединяет только определенные файлы PDF. Хотя этот процесс очень утомительно отслеживать номера страниц.

Наконец, я хочу номера страниц для печати на нижней части страницы, в том числе общего количества страниц EX: Страница 1 из 10

Я преуспеть в положить номера страниц, но мы не можем отслеживать их.

Есть ли способ применить его к существующему PDF-файлу?

Я попытался с помощью IText острого, что это возможно, но я ищу другое программное обеспечение, то IText резкого

Я новичок в стек переполнении, пожалуйста, простите, если мой подход неправилен

+0

apache pdfbox - довольно хорошая библиотека для обработки PDF. – mstorkson

ответ

0

Как я понял из ваших объяснение, что я предполагаю, что есть некоторые файлы, которые объединяются, наконец, в PDF-файл. У вас есть комплект pdf

Итак, у меня есть подход, когда вы можете добавлять номера страниц непосредственно после завершения процесса. Просто введите свой окончательный формат pdf, вы получите номера страниц, как ожидалось.

import com.lowagie.text.Element; 

import com.lowagie.text.pdf.BaseFont; 

import com.lowagie.text.pdf.PdfContentByte; 

import com.lowagie.text.pdf.PdfReader; 

import com.lowagie.text.pdf.PdfStamper; 



public class AddPageNumbersToExistingPageNumberPDF { 



     public static void main(String[] args) { 

       try { 

        PdfReader reader = new PdfReader("d:\\3\\input.pdf"); 

         int n = reader.getNumberOfPages(); 

        PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(

            "d:\\3\\outup.pdf")); 

         int i = 0; 

        PdfContentByte pdf_over; 

        BaseFont bf = BaseFont. createFont(BaseFont.HELVETICA, 

            BaseFont. WINANSI, BaseFont.EMBEDDED); 

         while (i < n) { 

          i++; 

          pdf_over = stamp.getOverContent(i); 

          pdf_over.beginText(); 

          pdf_over.setFontAndSize(bf, 18); 

          // width,height 

          pdf_over.setTextMatrix(500, 30); 

          pdf_over.showText("PDF-Page " + i + " of " + n);// Format your 

                               // page number 

          pdf_over.setFontAndSize(bf, 32); 

          pdf_over.showTextAligned(Element. ALIGN_LEFT, "s   s", 

             230, 430, 45); 

          pdf_over.endText(); 

        } 

        stamp.close(); 

       } catch (Exception de) { 

        de.printStackTrace(); 

       } 

     } 

} 

Вы также можете форматировать свой стиль печати с помощью этого кода. спасибо. !!

+0

Это сработало хорошо, оно даже уменьшило работу отслеживания номеров страниц. – TechFreak