Я использую библиотеку iText для создания и добавления данных в PDF.iText непрерывное редактирование PDF java
Я хочу добавить несколько текстовых строк и изображение в PDF более одного раза, пока не закрою файл.
numOfSamples = timeIHitTheButton();
.
.
.
*a loop tha call it the number of times choosen by numOfSamples*
DSM.saveData();
Датастор (DSM является экземпляром DataStore) класс создает doc.pdf документ правильно и DSM.addText() и DSM.addPicture() печатает правильно трех экземпляров TextLine изображение на файле, но только если Я нажимаю кнопку только один раз!
Я ХОЧУ НАПРАВЛЯТЬ ЖИВОЙ СТРОК И ИЗОБРАЖЕНИЕ КАЖДОГО ВРЕМЕНИ Я НАЖМИТЕ КНОПКУ (если я нажму его один раз, у меня будет один образец, если у меня есть два образца и т. Д.). ЕСЛИ Я ПРЕКРАТЬ ЭТО ТОЛЬКО ОДИН РАЗ, И Я ТЕРЯЮ, Я ПОЛУЧИЛ МОЙ PDF С СТРОЕЙ И ФОТОГРАФИЯМИ, НО ЕСЛИ Я ПРЕКРАТЬ ЭТО БОЛЬШЕ, ЧЕМ ОДИН РАЗ, Я ПОЛУЧИЛ НЕПРЕРЫВНЫЙ И ПОВРЕЖДЕННЫЙ PDF FILE. Я НЕ ЗНАЮ ПОЧЕМУ. КАК МОЖНО ПРОДОЛЖИТЬ ПИСЬМО ИЗОБРАЖЕНИЯ И СТРОКА НЕПРЕРЫВНО ДО ПОЛУЧИТЬ ЧИСЛО ОБРАЗЦОВ?
Здесь я отправляю код, если полезный («newPic1.jpg» «newPic2.jpg» и т.д., сохраненные фотографии для добавления в формате PDF с совмещены текстом.):
public class DataStore{ ....
.
.
.
public DataStore(String Str1, String Str2, String Str3, int numOfSemples)
throws Exception{
document = new Document();
String1 = str1;
String2 = str2;
String3 = str3;
Samples = numOfSemples;
document.open();
}
privatevoid saveData(){
if(!created){
this.createFile();
created=true;
}
this.addText();
this.addPicture();
}
private void createFile(){
try {
OutputStream file = new FileOutputStream(
new File("Doc.pdf"));
PdfWriter.getInstance(document, file);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
private void addText(){
try {
if(Samples > 0)
document.open();
document.add(new Paragraph(Double.toString(String1)));
document.add(new Paragraph(Double.toString(String2)));
document.add(new Paragraph(Double.toString(String3)));
} catch (DocumentException e) {
e.printStackTrace();
}
}
private void addPicture(){
try {
Image img = Image.getInstance("NewPic" + Samples + ".jpg");
document.add(img);
} catch (BadElementException bee) {
bee.printStackTrace();
} catch (MalformedURLException mue) {
mue.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (DocumentException dee) {
dee.printStackTrace();
}
if(Samples == 0)
document.close();
else Samples--;
}
}
Спасибо всем, может или хочет помочь :)
Это не ясно, как именно фрагменты кода вы Отправленные используются , Пожалуйста, разместите их в контексте друг с другом. – mkl
То же самое здесь: я не понимаю вопроса. Он нуждается в разъяснении. –
@ mkl ..I отредактировал мой вопрос, надеюсь, что это легче понять. – Igr