LINUX.ORG.RU

[Python] Генерация платежных отчетов в docx/odt/pdf

 , , , ,


1

5

Добрый день.

Нужно генерить акты выполненных работ и счета фактуры, попутно ставить печати/подписи.

0. Правильно ли с бухгалтерской точки зрения втыкать печати с подписями в сгенерированные документы?

1. Насколько эти документы чувствительны к отступам, полям и т.д.? Т.е. может ли документ считаться невалидным, если у него косяки с отступами?

2. Есть ли какое-нибудь API по генерации подобных документов по шаблонам?

3. Если использовать docx->pdf, то корректно ли будет просто пройтись sed'ом по зипу с docx и зареплейсить шаблонные строки?

4. Если кто-то для этой цели использовал какие-то конкретные решения, то поделитесь плиз. Тема хоть на первый взгляд и простая..

p.s. когда уже документы будут с выглядеть как QR-коды, к примеру. Взял, сунул id'шник документа в json с данными в qr-код, а на месте он сам бы сгенерился по шаблону и данным. И никакого распознания. И всякие ООО оформлялись бы через `apt-get install ooo-vector-m-base`...

Ищи на http://api.libreoffice.org/ Я делал скрипты на питоне, которые через UNO-интерфейс создавали документы, беря инфу то из баз данных, то из заданных URL'ов. В общем, ищи, там всё описано.

Alve ★★★★★ ()

Правильно ли с бухгалтерской точки зрения втыкать печати с подписями в сгенерированные документы?

Смысла нет, юр. силы такие печати и подписи не имеют (как и сами документы), только для «красоты».

Если кто-то для этой цели использовал какие-то конкретные решения, то поделитесь плиз. Тема хоть на первый взгляд и простая..

1С :)

ollowtf ★★★ ()

Сейчас как раз делаем вывод отчетов в xls. Сделал просто: на сервере пустые шаблоны форм отчетов в xls, с помощью xlrd, xlwt и xlutils создается копия документа, заполняются нужные ячейки данными и всё это дело отдается клиенту. Удобней, чем doc заполнять.

gruy ★★★ ()

Кстати говоря, последние версии LibreOffice (насчет OO.o сказать не могу) умеют работать с форматами в виде Flat XML (текстовые документы имеют расширение fodt или просто odt), что крайне удобно для генерации документов откуда угодно.

Например, минимально возможный текстовый документ в данном формате будет иметь вид

<?xml version="1.0" encoding="UTF-8"?>

<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" office:version="1.2"
office:mimetype="application/vnd.oasis.opendocument.text">
 <office:body>
  <office:text>
   <text:p>Проверка</text:p>
  </office:text>
 </office:body>
</office:document>

Естественно, что в таком виде без стилей и настроек идентичный вид документа никто гарантировать не будет. Зато можно создавать шаблон прямо в LO, а затем заменять нужные места на плейсхолдеры. Для конвертации из fodt куда угодно можно использовать PyODConverter или unoconv.

static_lab ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.