я пытаюсь запустить сценарий Python, используя PHP в IIS win 8.1 для преобразования файла Docx в PDF
import sys
import os
import comtypes.client
import random
import string
import qrcode
import fitz
from PyPDF2 import PdfFileReader
import json
import base64
import getpass
errordata=0
_output=[]
# convert Docx file into pdf file
def word_to_pdf(_in):
global errordata
pdf_format_key = 17
try:
file_in = os.path.abspath(_in)
head =os.path.split(_in)
_out=str((head[0]+'\\'+os.path.splitext(head[1])[0]+'.pdf'))
file_out = os.path.abspath(_out)
worddoc = comtypes.client.CreateObject('word.application')
doc = worddoc.Documents.open(file_in)
print ("documnt open")
doc.SaveAs(file_out,FileFormat=pdf_format_key)
errordata=0
_output.append('convert to PDF Success')
except Exception as e:
errordata=1
_output.append('convert to PDF Error' + str(e))
finally:
print(_output)
if errordata==0:
randid='_'+ id_generator(30, string.ascii_uppercase + string.digits)
qr_generator(randid,_out)
word_to_pdf(sys.argv[1])
, вот как я называю python из PHP:
<?php
$result = shell_exec('C:\Users\IT\AppData\Local\Programs\Python\Python38-32\python C:\inetpub\wwwroot\PyTest\document_control.py C:\inetpub\wwwroot\PyTest\upload\testdoc.docx 2>&1');
echo($result);
?>
при запуске PHP выдается ошибка: [WinError -2147024891] Access is denied']
я запускаю скрипт из cmd Administrator и пользователя cmd скрипт запускается, как я ожидал
я пытаюсь дать всем право на чтение / запись для загрузки папки, но ошибка все еще сохраняется
пожалуйста, ребята, вытащите меня