Генерация PDF для динамического содержимого - PullRequest
0 голосов
/ 31 октября 2011

Я создаю отчет в формате PDF в своем приложении. Когда содержание страницы превышает одну страницу, как заполнить содержимое, на самом деле в этой ситуации я попытался создать еще одну новую страницу, передав CGContextBeginPage ();но он показывает ошибку вроде

: CGContextEndPage: не вкладывать вызовы этой функции - результаты не будут такими, как вы ожидаете.****: CGContextBeginPage: Не вкладывайте вызовы этой функции - результаты будут не такими, как вы ожидаете.

Может кто-нибудь сказать мне, каксоздайте pdf во время такой ситуации.

1 Ответ

0 голосов
/ 31 октября 2011

У вас должна быть переменная, которая хранит вашу текущую позицию Y, когда вы размещаете контент, увеличивая это значение на высоту контента (и любой отступ).

Каждый раз, когда вы хотите визуализировать некоторый текст или изображение и т. Д., Убедитесь, что у вас есть достаточно места на странице перед рендерингом, а если нет, то завершите текущую страницу и начните новую. Проверьте пространство, посмотрев на текущую позицию Y, добавив к ней высоту содержимого и сравнив с прямоугольником вашей страницы.

Ошибки, которые вы получаете, связаны с тем, что вы вложили вызовы страниц PDF, ОС ожидает следующий подход ...

CGContextBeginPage
... render content for page 1
CGContentEndPage

CGContextBeginPage
... render content page 2
CGContentEndPage

Однако ваш код, скорее всего, использует их следующим образом ...

CGContextBeginPage
... render content for page 1
CGContextBeginPage
... render content for page 2
CGContextEndPage
CGContextEndPage
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...