Создайте UTF-8-pdf с веб-сайта PHP - PullRequest
0 голосов
/ 28 января 2011


Я пытаюсь написать код в CakePHP, где люди заполняют свои данные, чтобы подать заявку в наш университет.
Это в Германии, и у нас много претендентов, поэтому у нас есть имена с чешским акцентом, немецким умлаутом и т. Д.
Они вводят свои данные в форму, которая сохраняется в базе данных (также в UTF-8). На сайте также должен быть сгенерирован файл .pdf с их именем, адресом и т. Д. Я пытался использовать FPDF и расширение UFPDF для Unicode, но все равно что-то не получилось. Теперь мне интересно, смогу ли я как-нибудь сгенерировать LaTeX-документ и просто автоматически ввести данные пользователя, скомпилировать и вернуть его пользователю. LaTeX всегда хорошо работал для меня с UTF-8.

О, я забыл: я не хочу использовать TCPDF (который, очевидно, поддерживает UTF-8), потому что для Hello-World-документа уже потребовалось 20 сек; Я боюсь, что это задушит сервер, если одновременно подадут 300 студентов.

Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.

Ответы [ 2 ]

0 голосов
/ 28 января 2011

Вы когда-нибудь пробовали PDFLIB ?

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

0 голосов
/ 28 января 2011

Вы можете сделать это в стиле LaTeX, вызвав exec из PHP и создав документ.

Или вы можете использовать TCPDF , который построен на FPDF, но имеет больше функциональных возможностейв нем, и он поддерживает UTF-8.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...