를 사용하여 PDF 문서에 줄을 추가합니다. 그런 다음 각 파일의 페이지 수를 확인합니다. 이제 바닥 글 아래의 파일 끝으로 이동하여 파일이 끝났음을 알게 될 것이므로 페이지를 스테이플 링하도록 프린터에서 인식 할 수있는 이미지를 추가하려고합니다.내가 폴더 1</p> <p>내가 먼저 폴더에있는 모든 PDF 파일 목록에서 발견되는 자바
파일 목록 및 페이지 수를 가져올 때까지 도착했습니다.
마지막 페이지 끝으로 이동하여 쓰기 위해 사용하는 명령은 무엇입니까?
는 내가 텍스트로 .pdf 파일을 변환해야하거나 내가이 내가 현재 AAA 문자열로 insterted 될 경우 내가 시험 볼 것을 시도하고 사용하고있는 코드입니다 PDPageContentStream을 사용할 수 있어야 내 pdf 파일의 마지막 페이지 프로젝트는 오류없이 실행되지만 어떤 이유로 pdf에 삽입되지 않습니다. 관심
에 대한
package pdfviewer;
import java.io.*;
import java.util.*;
import java.util.List;
import java.io.IOException;
import org.apache.pdfbox.PDFReader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class Main {
/**
* @param args the command line arguments
*/
public static List flist()
{
List listfile = new ArrayList();
String path = "C:/1";
String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
if (files.endsWith(".pdf") || files.endsWith(".PDF"))
{
listfile.add(listOfFiles[i]);
}
}
}
System.out.println(listfile);
return listfile;
}
public static void CheckPages(List a)
{
String dir = null;
Object[] arraydir = a.toArray(new Object[0]);
for (int i=0; i< arraydir.length; i++)
{
int pages = 0;
PDFont font = PDType1Font.HELVETICA_BOLD;
float fontSize = 12.0f;
dir = arraydir[i].toString();
System.out.println(dir);
try {
PDDocument pdoc = PDDocument.load(dir);
List allPages = pdoc.getDocumentCatalog().getAllPages();
pages = pdoc.getNumberOfPages();
System.out.println(allPages);
int f = pages;
System.out.println(pages);
PDPage page = (PDPage) allPages.get(i);
//System.out.println(page);
PDRectangle pageSize = page.findMediaBox();
float stringWidth = font.getStringWidth("AAA");
float centeredPosition = (pageSize.getWidth() - (stringWidth*fontSize)/1000f)/2f;
PDPageContentStream contentStream = new PDPageContentStream(pdoc,page,true,true);
//System.out.println(contentStream);
contentStream.beginText();
contentStream.setFont(font, fontSize);
contentStream.moveTextPositionByAmount(centeredPosition, 30);
contentStream.drawString("AAA");
contentStream.endText();
contentStream.close();
pdoc.close();
}
catch (Exception e)
{
System.err.println("An exception occured in parsing the PDF Document."+ e.getMessage());
}
}
}
public static void main(String[] args)
{
List l = new ArrayList();
l = pdfviewer.Main.flist();
pdfviewer.Main.CheckPages(l);
}
}
덕분에 제가 위에서 사용 된 코드는 올바른 것입니다. 문제는 생성되는 PDF 파일이 버전 1.2이므로 PDF 문서 편집을 허용하지 않는 이유입니다.
버전 1.2를 사용하고 있다면 누구나해야 할 일을 알고 있습니다. 실제로 업그레이드 할 수 없기 때문에.
조금만 백업 해주세요. 각 인쇄 작업의 끝에 프린터가 스테이플하지 않습니까? – Wivani
그 안에 다른 프로세스를 시작하기 위해 필수 요소는 아닙니다. 파일 끝에 텍스트 줄을 삽입해야합니다. – CRL88