Я пытаюсь написать метаданные в файл в формате PDF, используя следующий код Python:Запись метаданных в формате PDF с использованием PyObjC
from Foundation import *
from Quartz import *
url = NSURL.fileURLWithPath_("test.pdf")
pdfdoc = PDFDocument.alloc().initWithURL_(url)
assert pdfdoc, "failed to create document"
print "reading pdf file"
attrs = {}
attrs[PDFDocumentTitleAttribute] = "THIS IS THE TITLE"
attrs[PDFDocumentAuthorAttribute] = "A. Author and B. Author"
PDFDocumentTitleAttribute = "test"
pdfdoc.setDocumentAttributes_(attrs)
pdfdoc.writeToFile_("mynewfile.pdf")
print "pdf made"
Это появляется, чтобы работать нормально (без ошибок к утешил), однако, когда я проверять метаданные файла он выглядит следующим образом:
PdfID0:
242b7e252f1d3fdd89b35751b3f72d3
PdfID1:
242b7e252f1d3fdd89b35751b3f72d3
NumberOfPages: 4
и исходный файл имел следующие метаданные:
InfoKey: Creator
InfoValue: PScript5.dll Version 5.2.2
InfoKey: Title
InfoValue: Microsoft Word - PROGRESS ON THE GABION HOUSE Compressed.doc
InfoKey: Producer
InfoValue: GPL Ghostscript 8.15
InfoKey: Author
InfoValue: PWK
InfoKey: ModDate
InfoValue: D:20101021193627-05'00'
InfoKey: CreationDate
InfoValue: D:20101008152350Z
PdfID0: d5fd6d3960122ba72117db6c4d46cefa
PdfID1: 24bade63285c641b11a8248ada9f19
NumberOfPages: 4
Таким образом, проблемы состоят в том, что они не добавляют метаданные и очищают предыдущую структуру метаданных. Что мне нужно сделать, чтобы заставить это работать? Моя цель - добавить метаданные, которые могут импортировать системы управления ссылками.
Спасибо за ответ, Tamás. Только один вопрос, где я могу найти, что другие атрибуты? Я пытаюсь скомпилировать метаданные из .bib-файла с помощью PDF-файлов, и я не знаю, существуют ли какие-либо ограничения на то, что я могу хранить. – djq
Просто посмотрите их в документации PDFKit на главной странице Apple; список констант, которые вы ищете, здесь (извините за длинную ссылку): http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/QuartzFramework/Classes/PDFDocument_Class/Reference/Reference.html % 23 // apple_ref/doc/uid/TP40003873. Найдите в нем раздел «Константы» и «Ключи атрибутов документа». –
Я немного медленно тестировал этот код, но я не могу заставить его работать за пределами строки. Есть ли что-то конкретное в версии ? –
djq