С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 121
1

Как конвертировать odf в pdf?

11.09.2013, 21:50. Показов 3353. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Версия python - 2.7.3.
Подскажите, пожалуйста, питоновскую open-source библиотеку, позволяющую конвертировать файлы odt в pdf. Или помогите разобраться со следующей проблемой.
Пробовал библиотеку openoffice-python 0.1. Тестовый пример работает не так, как надо.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
This sample script opens a ODF file using OpenOffice.org and
exports it as PDF.
"""
#
# Copyright (c) 2008 by Hartmut Goebel <h.goebel@goebel-consult.de>
# Licenced under the GNU General Public License v3 (GPLv3)
# see file LICENSE-gpl-3.0.txt
#
# Based on some ideas from LX-office's 'oo-uno-convert-pdf.py'
# (see <http:///www.lx-office.org>).
#
# This is just a sample script for openoffice-python. If you are
# looking for a converter which supports more formats, you may have a
# look at <http://www.artofsolving.com/opensource/pyodconverter>
# (which does not use openoffiec-python).
#
 
import openoffice.interact
import unohelper
from com.sun.star.beans import PropertyValue
 
import sys
import os.path
 
def write_pdf(doc, pdf_filename):
    out_props = (
        PropertyValue("FilterName", 0, "writer_pdf_Export", 0),
        PropertyValue("Overwrite", 0, True, 0),
        )
    pdf_filename = os.path.expanduser(pdf_filename)
    pdf_filename = os.path.abspath(pdf_filename)
    pdf_url = unohelper.systemPathToFileUrl(pdf_filename)
    print >> sys.stderr, pdf_url
    doc.storeToURL(pdf_url, out_props)
 
 
def convert2pdf(odf_filename, pdf_filename=None, opts=None):
    desktop = openoffice.interact.Desktop(host=opts.host, port=opts.port)
    # If the file does not exist, this will fail with:
    # openoffice.interact.IllegalArgumentException: URL seems to be
    #                      an unsupported one.
    # (where the module name is missleading!)
    doc = desktop.openFile(odf_filename, hidden=True)
    if not pdf_filename:
        pdf_filename = os.path.splitext(odf_filename)[0] + '.pdf'
    write_pdf(doc, pdf_filename)
    doc.dispose()
    if opts.tear_down:
        print >> sys.stderr, "Tear down is not yet implemented."
        #desktop.teardown()
 
if __name__ == '__main__':
    import optparse
    parser = optparse.OptionParser('%prog [options] ODF-Filename [PDF-Filename]')
    parser.add_option('--tear-down', action='store_true',
                      help="tear down OOo after convertion")
    group = parser.add_option_group('To connect to already running server use:')
    group.add_option('--host',  #default='localhost',
                     help="hostname/ip of server (default: %default)")
    group.add_option('--port',  default=2002, type=int,
                     help="port the server is listening on (default: %default)")
 
    opts, args = parser.parse_args()
    if len(args) == 0 or len(args) > 2:
        parser.error('expects one or two arguments')
    if not opts.host:
        opts.port = None
 
    convert2pdf(*args, **{'opts': opts})
В строке 66 переменной args присваивается пустой список, вследствие чего осуществляется переход на строку 68 - ошибка.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
11.09.2013, 21:50
Ответы с готовыми решениями:

Как конвертировать из docx в pdf?
Пробовал self.in_file = r'c:/project/func.docx' self.out_file=...

Как конвертировать HTML в PDF
Формирую документ в HTM и появилась необходимость сохранять его. Подскажите плиз, как можно...

Как конвертировать документ word в pdf
Добрый день, не могу понять как конвертировать документ word в pdf при создании документа Word ...

Как конвертировать XPS в pdf на сервере?
Здравствуйте. Есть веб приложение, которое генерирует XPS документы. В последнее время...

2
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
11.09.2013, 23:20 2
при вызове должны указываться один или два аргумента

Цитата Сообщение от UFO665 Посмотреть сообщение
Python
1
'%prog [options] ODF-Filename [PDF-Filename]'
1
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 121
12.09.2013, 21:04  [ТС] 3
спасибо, разобрался
0
12.09.2013, 21:04
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
12.09.2013, 21:04
Помогаю со студенческими работами здесь

Как конвертировать HTML файл в PDF?
Такая проблема. Создаю HTML файл, сохраняю. Нужно его преобразовать в PDF, iTextSharp.dll...

Как html страницу конвертировать в pdf?
Доброго времени суток. Подскажите пожалуйста как мне конвертировать html страницу в pdf?? Мне...

как конвертировать таблицы Excel в PDF?
привет.скажите пожалуста как я могу конвертировать таблиц Excel в PDF для Delphi

Как конвертировать HTML в PDF или XPS
Формирую документ в HTML, но из за немощности IE вывод на печать всегда проблематична и с косяками,...

Как конвертировать в pdf фаил кирилическими символами в PhpWord?
вот код как я делаю. $phpWord = \PhpOffice\PhpWord\IOFactory::load($fileName); $lang =...

Как конвертировать документ в PDF, который будет читаться только на моем компьютере?
Доброго времени суток. Подскажите, пожалуйста, как создать документ большая часть которого будет...

Как и через что автоматически конвертировать текст из pdf который в 2 колонки чтоб в ворде был 1ой колонкой ?!
Вот тут документ мне через что сконвертить или что ещё с ним сделать чтобы в ворде он уже был...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru