Comments 20
А можно ссылки на предыдущие посты серии разместить в конце?
0
Было бы интересно узнать про то как внедряются шрифты.
+1
Замечательно — вы действительно разобрались, как устроен PDF.
Внесу свои пять копеек: когда мне приходилось решать эту задачу, я залез на nl3.php.net/manual/en/ref.pdf.php (выделение текста тоже только средствами PHP).
Там был код, который иногда работал, иногда нет. Потом выяснилось, что проблема была в том, что в стандарте так и не смогли договориться, как кодировать переносы строк — \n, \r или \r\n. В общем, я эту проблему поправил, и все заработало довольно прилично. Мой код — это последний комментарий на вышеуказанной странице.
Внесу свои пять копеек: когда мне приходилось решать эту задачу, я залез на nl3.php.net/manual/en/ref.pdf.php (выделение текста тоже только средствами PHP).
Там был код, который иногда работал, иногда нет. Потом выяснилось, что проблема была в том, что в стандарте так и не смогли договориться, как кодировать переносы строк — \n, \r или \r\n. В общем, я эту проблему поправил, и все заработало довольно прилично. Мой код — это последний комментарий на вышеуказанной странице.
0
классная статья, но после нее я понял что формат pdf говно
нет ни красоты ни стиля
нет ни красоты ни стиля
-4
Есть документы, в которые, к примеру, внедрены русские шрифты, осуществляющие трансформацию из символов английского алфавита в отображение русских букв.
Примеры вы хорошие подбираете :)
А статья супер: просто, четко и красиво изложено.
0
А можно будет в будущем сделать выковыривание не только текста, но и изображений?
0
восхитительно, спасибо, очень интересно.
а возможно ли сделать так, чтобы текст вытаскивался с форматированием, т.е. курсив / жирный и т.д.?
а возможно ли сделать так, чтобы текст вытаскивался с форматированием, т.е. курсив / жирный и т.д.?
0
Форматирование на страницы/абзацы — это разбор индивидуального позиционирования символов и чтение дополнительных параметров вывода текста (вспомните TJ, Tj). Я оставил решение проблемы на читателя.
Начертание текста (полужирное, курсив или ещё воз и маленькая эффектов, что поддерживает PDF) — это к шрифтам. Выше по комментариям, я обещал поковырять PDF на предмет их чтения.
Ну и от себя — не ищите готовых решений. Тут уже придётся сесть за редактор кода и PDF с описанием формата. :)
Начертание текста (полужирное, курсив или ещё воз и маленькая эффектов, что поддерживает PDF) — это к шрифтам. Выше по комментариям, я обещал поковырять PDF на предмет их чтения.
Ну и от себя — не ищите готовых решений. Тут уже придётся сесть за редактор кода и PDF с описанием формата. :)
0
>for ($i =; $i < count($objects); $i++) {
поправьте
поправьте
0
Огромное спасибо за статью. Хочу только внести некторые поправки
1) В функции getCharTransformations неправильно указаны регэкспы. Вместо
и
должно быть
и
Далее встречается plain-текст который требует трансформации. Поэтому заменил строки в функции getTextUsingTransformations
на
насколько это правильно это отдельный вопрос.
А теперь вопрос — если в документе несколько таблиц преобразования, то как определить какую когда нужно использовать?
1) В функции getCharTransformations неправильно указаны регэкспы. Вместо
if (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+<([0-9a-f]{4})>#is", trim($current[$k]), $map)) {
и
} elseif (preg_match("#<([0-9a-f]{4})>\s+<([0-9a-f]{4})>\s+\[(.*)\]#ismU", trim($current[$k]), $map)) {
должно быть
if (preg_match("#<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>#is", trim($current[$k]), $map)) {
и
} elseif (preg_match("#<([0-9a-f]{1,4})>\s*<([0-9a-f]{1,4})>\s*\[(.*)\]#ismU", trim($current[$k]), $map)) {
Далее встречается plain-текст который требует трансформации. Поэтому заменил строки в функции getTextUsingTransformations
// либо в "чистую" строку, если была открыта круглая скобка.
if ($isPlain)
$plain .= $c;
на
// либо в "чистую" строку, если была открыта круглая скобка.
if ($isPlain) {
$key = sprintf("%04X", ord($c));
if (isset($transformations[$key]))
$c = html_entity_decode("&#x".$transformations[$key].";");
$plain .= $c;
}
насколько это правильно это отдельный вопрос.
А теперь вопрос — если в документе несколько таблиц преобразования, то как определить какую когда нужно использовать?
0
Sign up to leave a comment.
Текст любой ценой: PDF