Вход | Регистрация
 

Конвертация jpg -> pdf

Конвертация jpg -> pdf
Я
   Oldman06
 
31.07.20 - 17:58
Есть код который конвертирует массив jpg в pdf в серверном вызове (CentOS):

Функция МассивJPG_в_PDF(МассивФайлов, Адрес = Неопределено) Экспорт
    РазделительПути = "/";
    КаталогВыгрузки = КаталогВременныхФайлов() + "StatementOutput";
    КаталогНаДиске = Новый Файл(КаталогВыгрузки);
    Если КаталогНаДиске.Существует() Тогда
        Попытка
            УдалитьФайлы(КаталогВыгрузки, "*.*");
            
        Исключение
            
        КонецПопытки;
        
    Иначе
        СоздатьКаталог(КаталогВыгрузки);
        
    КонецЕсли;
    
    СтрокаКоманды = "convert";
    Для х = 0 По МассивФайлов.Количество() - 1 Цикл
        НомерФайла = х + 1;
        ИмяФайла = КаталогВыгрузки + РазделительПути + "input" + Строка(НомерФайла) + ".jpg";
        ДД = ПолучитьИзВременногоХранилища(МассивФайлов[х]);
        ДД.Записать(ИмяФайла);
        
        СтрокаКоманды = СтрокаКоманды + " input" + Строка(НомерФайла) + ".jpg";
        
    КонецЦикла;
    
    СтрокаКоманды = СтрокаКоманды + " " + "result.pdf";
    
    ЗапуститьПриложение(СтрокаКоманды, КаталогВыгрузки, Истина);
        
    ДД = Новый ДвоичныеДанные(КаталогВыгрузки + РазделительПути + "result.pdf");
    АдресРезультата = ПоместитьВоВременноеХранилище(ДД, Адрес);
    
        УдалитьФайлы(КаталогВыгрузки);
    
    Возврат АдресРезультата;
    
КонецФункции

До сегодняшнего дня работал без проблем. Ничего не менял, на сервере тоже. Сейчас вылетает на строке
ДД = Новый ДвоичныеДанные(КаталогВыгрузки + РазделительПути + "result.pdf");
так как не может найти файл. И он действительно не формируется. В логах ничего, запуск команды конвертации в консоли на сервере под пользователем 1С отрабатывает нормально. Куда можно копнуть?
   ДенисЧ
 
1 - 31.07.20 - 18:07
Самая интересная сказка от сисадминов и 1сников - "ничего не менялось".
Сисадмины сегодня праздник отмечали? Права поменяли?
   Oldman06
 
2 - 31.07.20 - 18:20
Сисадмин, по совместительству, я. И я точно ничего не менял. И дело не в правах: в консоли под пользователем 1с все работает. Пользователи ещё сказали, что эта ошибка и раньше переодически возникала, но потом рассасывалась. Я так подозреваю, она исчезнет после перезапуска службы сервера 1с. Она у меня каждую ночь перезапускается. Сейчас проверить не могу: много пользователей активно работают.
   ДенисЧ
 
3 - 31.07.20 - 18:40
Ну так запиши в ЖР КаталогВыгрузки + РазделительПути + "result.pdf"
И в попытку. А лучше по отдельности...
   Garykom
 
4 - 31.07.20 - 18:49
бага тут СтрокаКоманды = "convert";

пропиши полные пути
   Oldman06
 
5 - 31.07.20 - 19:50
(3) Уже делал. Всё правильно. Прикол в том, что этот код то работает, то нет.
   Oldman06
 
6 - 31.07.20 - 19:51
(4) Пробовал. С полными путями та же шняга.
   Timon1405
 
7 - 31.07.20 - 19:52
серверов 1С больше одного?
   Oldman06
 
8 - 31.07.20 - 20:45
(7) Нет, один.
   Garykom
 
9 - 31.07.20 - 21:18
(6) КодВозврата какой? У ЗапуститьПриложение 4 параметра
ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>)
   Oldman06
 
10 - 31.07.20 - 22:23
(9) А вот это я как-то упустил ... Забыл, что там четвертый параметр есть. Завтра буду на работе, посмотрю.
   acht
 
11 - 01.08.20 - 10:28
Не будет работать, если исходных файлов больше 1000

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.