Я пытаюсь создать PDF/A-1b в Symfony, используя ZendPDFPHP ZendPDF Изменить Metadata XML
Для этого я должен установить некоторые метаданные в структуре XML в формате PDF. Но я не знаю, как это сделать.
Я попытался изменить XML с помощью DOMDocument, но когда я пытаюсь добавить DOMNode он говорит, что не может написать свойство
$node = new DOMNode();
$node->nodeName = "part";
Но тогда я Не могу написать свойству Exception
мне просто нужно добавить ребенка на DOMDocument
Полный код
$metadata = $this->pdf->getMetadata();
$metadataDOM = new DOMDocument();
$metadataDOM->loadXML($metadata);
$xpath = new DOMXPath($metadataDOM);
$xpath->registerNamespace('x', 'adobe:ns:meta/');
$xpath->registerNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
$xpath->registerNamespace('xmp', 'http://ns.adobe.com/xap/1.0/');
$xpath->registerNamespace('xmpGImg', 'http://ns.adobe.com/xap/1.0/g/img/');
$xpath->registerNamespace('xmpTPg', 'http://ns.adobe.com/xap/1.0/t/pg/');
$xpath->registerNamespace('stDim', 'http://ns.adobe.com/xap/1.0/sType/Dimensions#');
$xpath->registerNamespace('xmpG', 'http://ns.adobe.com/xap/1.0/g/');
$xpath->registerNamespace('dc', 'http://purl.org/dc/elements/1.1/');
$xpath->registerNamespace('xmpMM', 'http://ns.adobe.com/xap/1.0/mm/');
$xpath->registerNamespace('pdf', 'http://ns.adobe.com/pdf/1.3/');
$xpath->registerNamespace('pdfaid', 'http://www.aiim.org/pdfa/ns/id');
$data = $xpath->query('//rdf:Description')->item(0);
$node = new DOMNode();
$node->nodeName = "asdf";
$data->appendChild($node);
dump($data);
dump($metadataDOM->saveXML());
die;
Вы не можете написать свойство * 'nodeName' *. Поэтому вопрос в том, почему вы пытаетесь это сделать в первую очередь. И то, что вы ожидали, вместо ошибки. И если вы хотите улучшить свой вопрос, уменьшите код до минимума, чтобы создать автономный пример, демонстрирующий вашу проблему. – hakre