2012-04-16 5 views
5

Я не уверен, как преодолеть эту проблему, хотя я установил размер страницы как A4, я бы предположил, что размер моей страницы останется неизменным и мой контент будет обернут правильно?WkHtmlToPDF отображает крошечный pdf-файл, если текст слишком длинный

примечание Я использую обертку WkHtmlToXSharp создать мой PDF

enter image description here

Проблема: При вводе строки, которые не расщепляются, т.е. одну длинную строку - то, что я показал в изображение выше. Как это исправить? Есть ли какие-то варианты для WhtmlToPDF для обертывания текста?

+0

Я просто добавил вопрос очень, связанный с этим, но она имеет дело с изображениями вместо длинных «нерушимых» струн. Я считаю, что основной причиной является то же самое, но решение должно быть другим. http://stackoverflow.com/q/12456736/694325 – Nenotlep

+0

Просто посмотрел на ваш вопрос - не знаете, сколько обходных путей доступно для этого инструмента. Люди предложили исправить javascript, т. Е. Подсчитать символы и разбить каждую строку, но я не могу честно сказать, какое лучшее решение. Глядя на google docs, кажется, что они разбивают каждую строку, но смотрят на ширину страницы и ширину символов, а затем делают некоторый раскол, но я не могу сказать наверняка. Дайте мне знать, если вы найдете что-нибудь. – Haroon

+0

привет, смогли ли вы это исправить? Я столкнулся с той же проблемой. Спасибо. –

ответ

0

Необходимо разбить страницы. Это просто, как добавление этого:

<div style='page-break-after:always'></div> 

Например, если у вас есть длинный стол, вы можете сделать, как этот псевдо-код:

if ($row > 100) { 
    echo "</table>"; 
    echo "<div style='page-break-after:always'></div>"; 
    echo "<table>"; } 
+0

Моя проблема больше связана с переносом текста, а не с перерывами страницы – Haroon

+0

А теперь я получил это - ну, это круто - я думаю, это прочитать строки, и если это слишком долго, сломайте его с помощью тире, используя одна из строковых функций. PHP имеет функцию «wordwrap()». Не знаю о C# tho. – netrox

1

Если вы хотите, решение CSS, вы можете попробовать настройки ширину элемента, который переполняется, а затем тестирование с помощью word-wrap: break-word;, overflow:hidden; и white-space: nowrap, чтобы решить проблему, некоторые из этих или комбинаций могут работать для вас. Что касается решения wkhtmltopdf, которое было бы универсальным ... Если вы найдете его, я тоже хочу!

+0

Что касается ручного взлома исходного HTML-кода, вы можете загрузить его в строку, а затем проверить, есть ли какие-либо слова длиной более 9000 символов, а затем выполнить ответственный грязный хакер - но этот метод кажется мне неприятным. Даже решение JS может действительно работать для этого маршрута, если вы не хотите делать это в C# – Nenotlep

Смежные вопросы