Нужен консольный и кроссплатформенный.
ODT > PDF
Модератор: Модераторы
ODT > PDF
Может подскажут многоуважаемые форумчане хороший конвертер из ODF в PDF?
Нужен консольный и кроссплатформенный.
Нужен консольный и кроссплатформенный.
либре подойдет
хотя, кажись нет. Не сильно он консольный
хотя, кажись нет. Не сильно он консольный
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
unoconv -f pdf mydocument.odt
unoconv -f pdf mydocument.odt
It uses OpenOffice's UNO bindings for non-interactive conversion of documents.
Т.е. на сервере его проблематично использовать
unoconv типо на file2pdf?
смысл один либре...
простенький конвертер, возможно, проще самому написать. Чем искать готовенькое...
смысл один либре...
простенький конвертер, возможно, проще самому написать. Чем искать готовенькое...
простенький конвертер, возможно, проще самому написать
Есть очень большое сомнение, что так просто написать самому конвертер в PDF (учитывая малое количество хороших PDF конвертеров и их глючность).
Есть толковая спецификация формата на русском?
шутник Вы однако батенькаспецификация формата на русском
Сомнения - нормальное состояние. Только попытка покажет.... А Вы уверены что в найденном конвертере не будут баги?
А Вы уверены что в найденном конвертере не будут баги?
Я уверен, что в Lazarus есть баги - но это не значит, что я кинусь его переписывать сам заново.
GOOGLE уже не в моде?
http://www.nchsoftware.com/documentconvert/index.html
http://www.nchsoftware.com/documentconvert/index.html
ээх, только началась раскрутка по созданию конвертера а Вы тута с гуглом появились 
Зачем только этот монополист поиска нужен?
Зачем только этот монополист поиска нужен?
mirk писал(а):Может подскажут многоуважаемые форумчане хороший конвертер из ODF в PDF?
Нужен консольный и кроссплатформенный.
Вот код для преобразования из odt в pdf, который компилируется в линукс и в винде:
Код: Выделить всё
function TForm13.ConvertToPdf(Report: TReport; const Appname: String): String;
var
FileFrom: String;
{$IFDEF FPC}
Process: TProcess;
{$ELSE}
PythonAppname: String;
{$ENDIF}
begin
FileFrom := Report.SaveFilenames[Ord(otOO)];
Result := FileFrom + '.pdf';
{$IFDEF FPC}
Process := TProcess.Create(nil);
try
Process.Executable := FPythonExecPath;
Process.Parameters.Add(FConvertorPath);
Process.Parameters.Add('-f');
Process.Parameters.Add('pdf');
Process.Parameters.Add('-o');
Process.Parameters.Add(Result);
Process.Parameters.Add(FileFrom);
Process.Options := Process.Options + [poWaitOnExit];
Process.Execute;
finally
Process.Free;
end;
{$ELSE}
PythonAppname := OExtractFileDir(Appname) + PathDelim + 'python';
RunFileWait(GetActiveWindow(), PythonAppname,
Format('"%s" -f pdf -o "%s" "%s"', [FConvertorPath, Result, FileFrom]));
{$ENDIF}
end;
FConvertorPath содержит путь к unoconv.py, а unoconv.py можно скачать отсюда https://github.com/dagwieers/unoconv
unoconv.py требует установленного OpenOffice (LibreOffice)
