Моя цель — преобразовать 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
XML-файл не прикрепляется к PDF-файлу при использовании Ghostscript ⇐ Python
Программы на Python
-
Anonymous
1732100435
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
Подробнее здесь: [url]https://stackoverflow.com/questions/77840665/xml-file-doesnt-get-attached-into-the-pdf-while-using-ghostscript[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия