Взгляните на пример MultipleImages , и вы обнаружите, что в вашем коде есть две ошибки:
Взгляните на мой код:
public void createPdf(String dest) throws IOException, DocumentException {
Image img = Image.getInstance(IMAGES[0]);
Document document = new Document(img);
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
for (String image : IMAGES) {
img = Image.getInstance(image);
document.setPageSize(img);
document.newPage();
img.setAbsolutePosition(0, 0);
document.add(img);
}
document.close();
}
Создаю экземпляр Document
, используя размер первого образ. Затем я перебираю массив изображений, устанавливая размер страницы следующей страницы на размер каждого изображения до . Я запускаю newPage()
[*]. Затем я добавляю изображение в координату 0, 0, потому что теперь размер изображения будет соответствовать размеру каждой страницы.
[*] Метод newPage()
имеет эффект только в том случае, если что-то добавлено к текущему стр. Когда вы впервые проходите цикл, ничего еще не добавлено, поэтому ничего не происходит. Вот почему вам нужно установить размер страницы в размере первого изображения при создании экземпляра Document
.
Этот материал работает по-разному на Android и iOS. Вам нужно определить специфичный для ios объект apns.payload.aps в уведомлении.
apns: {
payload: {
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
}
Вам также необходимо разрешить удаленные фоновые уведомления в вашем списке. Если вы используете Xcode (самый простой),
В Project Navigator выберите свой проект.
В редакторе выберите цель приложения для iOS.