Автор Тема: Чем переконвертировать юникодный текстовый файл в ps или pfd?  (Прочитано 2549 раз)

0 Пользователей и 1 Гость просматривают эту тему.

yura_n

  • Гость
Второй день пытаюсь найти разумный способ печати из Emacs. Если использовать стандартные способы, вроде M-x print-buffer, печать работает, но нет никакой возможности ее предпросмотра. При попытках использовать Postscript из Emacs (printing.el) есть предпросмотр, но вместо кириллицы отображаются вопросительные знаки. По этому вопросу очень много гуглил. Результата ноль. Нет не только информации, но даже и намеков на нее. Похоже что с юникодом это просто не работает. Тогда возникла идея найти сторонние утилиты, которые могли бы юникодную кириллицу, в текстовом файле, преобразовать в ps или pdf файл, реализуя таким образом preview. Какие программы можно использовать для такой цели?
« Последнее редактирование: 16 Январь 2013, 22:28:01 от yura_n »
 

Оффлайн Olej

Тогда возникла идея найти сторонние утилиты, которые могли бы юникодную кириллицу, в текстовом файле, преобразовать в ps или pdf файл, реализуя таким образом preview. Какие программы можно использовать для такой цели?
1. "юникодной кириллицы"(с) в природе не бывает, бывает UTF-8
2. Open Office ?  ;)
 

yura_n

  • Гость
1. "юникодной кириллицы"(с) в природе не бывает, бывает UTF-8
Да ладно. UTF-8 - это юникодная кодировка, а кириллица - один из интернациональных наборов символов, который присутствует в том числе и в UTF-8. "Юникодная кириллица" - это всего лишь игра слов, хотя и технически не совсем правильная, но тем не менее понятная и не несет двусмысленности. Не придирайтесь к словам.
Цитировать
2. Open Office ?  ;)
Совместно с Emacs? :) Спасибо, но это несерьезно.
 

Оффлайн oneingray

  • Новичок форума
  • Сообщений: 7
Есть мнение, что plain text в PDF преобразовывать не нужно вовсе.

Если требуется получить именно кириллицу в PDF (PostScript), то можно воспользоваться, e.?g., enscript(1), предварительно приведя кодировку к одной из понимаемых оным командой iconv(1).?Ясно, что о разного рода «излишествах», навроде тех же кавычек-«елочек» (или, скажем, тире) придется забыть — заменить sed(1) на похожие, или же положиться на опцию -c команды iconv.

Кроме того, по-слухам, plain text можно «легко и просто» преобразовать в документ *roff.?(Который, в свою очередь, несложно сверстать в PDF.)?К сожалению, *roff (в отличие от, e.?g., XHTML) является языком программирования, а не языком разметки.?Количество возможных спец-последовательностей, требующих экранирования, следовательно, поистине неисчислимо…
 

yura_n

  • Гость
oneingray спасибо за ответ!
Но я нашел относительно более простое решение. Установил виртуальный принтер cups-pdf, после чего перенаправил ему печать из Emacs-а вот таким вот незамысловатым способом:
(setq printer-name "cups-pdf")Проблем с кириллицей не заметил. Для preview печати из Emacs-а, на мой взгляд, хватает. Решено.
« Последнее редактирование: 18 Январь 2013, 03:56:12 от yura_n »
 

Оффлайн oneingray

  • Новичок форума
  • Сообщений: 7
… Что как бы намекает на то, что «внутри» CUPS (или cups-pdf) находится код преобразования Unicode-текста в PDF.?(Возможно, через некоторое промежуточное представление.)

Такой код было бы интересно выделить в standalone-приложение…
 

Оффлайн corner

Знаете, лет 10 назад это придумал какой-то Vincent Bernat   :)  :)
# aptitude install unoconv
Лучшая настольная книга Дебианщика - http://packages.debian.org/stable/

Сообщение объединено: 22 Январь 2013, 02:19:37
Еще есть обычная утилита groff, которая обычно входит в базовую систему.
Пример :
$ man ls > ls.txt
$ groff -T ps ls.txt > ls_postscript_file
На выходе  - постскрипт файл.
Но это только одна из возможностей...
« Последнее редактирование: 22 Январь 2013, 02:19:37 от corner »
 

Оффлайн Alexey_F

  • Местный житель
  • ***
  • Сообщений: 153
 :-[
aptitude search 2psaptitude search 2pdf
 

yura_n

  • Гость
На выходе  - постскрипт файл.
Вы бы хоть проверяли, что-ли... Проблема была не с созданием PostScript файла, а с корректным отображением кириллицы в этом файле.
 

Оффлайн oneingray

  • Новичок форума
  • Сообщений: 7
Знаете, лет 10 назад это придумал какой-то Vincent Bernat   :)  :)
# aptitude install unoconv
… После чего обнаруживаем libreoffice-core в числе установленных пакетов, что отнюдь не всегда является desirable outcome.

Еще есть обычная утилита groff, которая обычно входит в базовую систему.

Пример:
$ man ls > ls.txt
$ groff -T ps ls.txt > ls_postscript_file
На выходе — постскрипт файл.
Можно сразу получить в результате PDF-документ (-T pdf; vs. PostScript-программу.)?Если, кроме того, учесть, что man сам по себе вызывает groff, можно сразу выполнить $ man -T pdf …

Цитата: yura_n
Проблема была не с созданием PostScript файла, а с корректным отображением кириллицы в этом файле.
Проблема с различными *roff (что я, справедливости ради, уже упоминал в обсуждении) — отнюдь не в том, что оные не поддерживают Unicode (напротив, в GNU Troff такая поддержка как раз имеется), а в том, что на входе ему требуется код — программа на его собственном языке.?И то, что в некоторых настройках (и для некоторых plain text) исходный текст переносится в PDF с «минимальными изменениями» — большого значения, на мой взгляд, не имеет.
 

Оффлайн oneingray

  • Новичок форума
  • Сообщений: 7
… Что как бы намекает на то, что «внутри» CUPS (или cups-pdf) находится код преобразования Unicode-текста в PDF.
… Искомый код обнаружился в пакете с говорящим названием cups-filters. Пример использования:$ date --help \
      | CHARSET=utf-8 /usr/lib/cups/filter/texttopdf \
            "" "" "" 1 "page-left=40, page-right=40, cpi=11" \
      > help.pdf

Преимущества данной реализации texttopdf: весьма скромные зависимости и (сравнительная) простота вызова из Shell-кода.

Два замечания:
  • в указанных настройках, ширина строки — 78 символов;
  • в качестве кодировки входного потока допускается только UTF-8.
 

Теги:
 

Как добавить на установочный диск и флешку firmware (файл iwifi.deb ) ?

Автор newdeb

Ответов: 3
Просмотров: 1588
Последний ответ 28 Июнь 2017, 22:30:28
от newdeb
Не распаковывается файл ISO

Автор qupl

Ответов: 5
Просмотров: 3381
Последний ответ 27 Февраль 2011, 07:45:55
от qupl
[РЕШЕНО] Как узнать откуда файл?

Автор mcherenkov

Ответов: 6
Просмотров: 4394
Последний ответ 21 Октябрь 2012, 13:19:06
от corner
[Решено] Файл modules.builtin.bin нулевого размера

Автор raxru

Ответов: 5
Просмотров: 6967
Последний ответ 08 Октябрь 2013, 11:50:15
от ogost
[РЕШЕНО] Перекодировать файл в UTF-8

Автор ywaw

Ответов: 3
Просмотров: 1448
Последний ответ 23 Декабрь 2014, 16:37:13
от yoric