XML-файл не прикрепляется к PDF-файлу при использовании GhostscriptPython

Программы на Python
Ответить
Anonymous
 XML-файл не прикрепляется к PDF-файлу при использовании Ghostscript

Сообщение Anonymous »

Моя цель — преобразовать PDF-файл в файл, соответствующий формату factur-x.
Я успешно конвертировал PDF-файл в pdfA/3-b
Вот код :
import subprocess

gs_path = r"C:\Program Files\gs\gs10.02.1\bin\gswin64.exe"

def convert_to_pdfa(input_path, output_path, pdfa_def_path):
command = [
gs_path,
"-dPDFA=3",
"-dBATCH",
"-dNOPAUSE",
"-sColorConversionStrategy=UseDeviceIndependentColor",
"-sDEVICE=pdfwrite",
"-sOutputFile=" + output_path,
"-dPDFACompatibilityPolicy=2",
pdfa_def_path,
input_path
]

subprocess.run(command)

if __name__ == "__main__":
input_pdf_path = "facture.pdf"
output_pdfa_path = "output_pdfa.pdf"
pdfa_def_path = "PDFA_def.ps"

convert_to_pdfa(input_pdf_path, output_pdfa_path, pdfa_def_path)

Вот код в файле PDFA_def.ps:
% Define entries in the document Info dictionary :

/ICCProfile (sRGB_v4_ICC_preference.icc)
def

[ /Title (test)
/DOCINFO pdfmark

% Define an ICC profile :

[/_objdef {icc_PDFA} /type /stream /OBJ pdfmark
[{icc_PDFA} /PUT pdfmark
[{icc_PDFA} ICCProfile (r) file /PUT pdfmark

% Define the output intent dictionary :

[/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark
[{OutputIntent_PDFA} > /PUT pdfmark
[ {InvoiceStream} (output.xml) (r) file /PUT pdfmark
[ {InvoiceStream} /CLOSE pdfmark
[ /_objdef {Invoice_FSDict} /type /dict /OBJ pdfmark
[ {Invoice_FSDict} >> /PUT pdfmark
[ /_objdef {AFArray} /type /array /OBJ pdfmark
[ {AFArray} {FSDict} /APPEND pdfmark
[ {Catalog} > /PUT pdfmark
[ /Name (output.xml) /FS {FSDict} /EMBED pdfmark
[
/XML
(
...
)
/Ext_Metadata pdfmark

Я следовал этому руководству в блоге zugferd.
Когда я открываю PDF-файл, нет прикрепленного XML-файла:
Нет XML-файла. прикрепленные файлы
Я сравнил PDF-файл, который я отобразил, с PDF-файлом, который соответствует формату factur-x
PDF-файл, который я отобразил:46 0 obj
stream



...


endstream
endobj

действительный PDF-файл:
8 0 obj
>
stream
... binary data ...
endstream
endobj


Подробнее здесь: https://stackoverflow.com/questions/778 ... hostscript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»