我的Adobe Illustrator文件损坏。创建文件的人从不再存在的远程驱动器中嵌入了一些图像,这使Illustrator崩溃。我认为解决方法应该很简单。 .ai文件的一部分是基于文本的XML,其中包含远程URL:
<rdf:li rdf:parseType="Resource">
<stMfs:linkForm>EmbedByReference</stMfs:linkForm>
<stMfs:reference rdf:parseType="Resource">
<stRef:filePath>\\123.45.67.89\path\to\my\file\niceimage.jpg</stRef:filePath>
<stRef:documentID>0</stRef:documentID>
<stRef:instanceID>0</stRef:instanceID>
</stMfs:reference>
</rdf:li>
我所需要做的就是编写一个简短的脚本,该脚本将所有远程URL替换为本地驱动器上图像的路径。问题在于文件的其他部分是二进制的。当我尝试使用文本阅读器或Python打开文件时,它抱怨该文件不兼容UTF8,如果保存则将损坏。有没有办法只编辑这种半文本,半二进制文件的文本部分,而保持二进制部分不变?使用python,bash,sed或您最喜欢的任何方法的解决方案将不胜感激。