0

У меня есть кодированного изображения Base64, который выглядит следующим образом:Как вставить картинку в Слово из Base64 кодированного изображения

var base64SignatureImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAACJCAMAAAAR34S1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAA8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/M6GAAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjb8jGPfAAALWklEQVR4Xu2da6Ojqg6GQVFREdb//7PdCSAXwUsLtp211/thH6fTaX0ghCTEHvL4n+gP9LfpD/S36Q/0t+kP9LfpDzSvhXcNQVHGF/vav6FnQFWPkJRpUUKYsH/xL+g6qGBAOUzK/vEhx4b09vof0FVQxSlpPaXRRP8d0ougM2La60BLM9irezWVL5JLoKoDo7XXsRb6DpfUk8Zeva4roEtL6Gyvtxo7e3GjJnAOxVN6AXShhG0Wp5cg0l7dJ0rGoXiJnIMC54HLEeVjfaYJlo1s7R9e1imoojvL02ig9uI+tRTsqXiRnoIyMtqrrJrbNxipB5qVOr0zUE6YvcqK379EzVfw0hVyAqoo2s2uFsrt1X1q9fK8G3Qke/sKaqb3by7KLB2eCVee0gloc2S4I2mPpruOJrM4eKnpHIPOBxMqWtLdz/nojL/lR5Z1Rcegw94KVTNEhaXWdEnUbG43r1GWXYNqBErC7w+JQGtAcjMoyayMpYOcm3Rvqi9wYmxquBk0CRYUFhna4W1lFGa94X60fVEnoKUuoFirTd0cAr4hHjiWsEMtbwZlny6VjNYXjcU3cgz6htzkWL0BVeWmdQy6fGqRKjFzrouqLdZWm8NU8ZKOQR9NebHmWcmZAx9lHDSYKjLuZ33hkJ+AYnb/Rqm5B6hmGG0wMtqv74G0MBA7AX00x3l3VWFYCZTB1HXEbNgNLNG5KYoZzkCXlrTviQ4gSSBNH8PYlbPokFsVed4zUAzCSH9/WCthNtl2GZoqCliu8bmixHjPQfEebg8cloZkLHMylquoHegSf3EBVFtVc+s+s1Nq7E2Rc1pzqBLbvQSKnuDWpdrlXZ492WlWky05kr0ICl9C70vNZL7UKI3lCpf9lySll0EfaiBkKE2WdsSycclkLNcH3CWFo+ugMMI9eKVbUJes6XaaKzj0eBcofCnbP1crEs8dPzb6tWC2WQKqOogQ+/nC6D8HCqgNKT4dyKlLSRdtuUtQzsEAKRaeKIIulF2fBX0oCCDuWKqj862rRo3V+0MPlYa7HBlh8M/j1KdBYakyYoyqrpamj8dPO3kZnFlmjii5nm+V/kWiF0AxqciVB0ul2jgq0Un/GFSWuQ3xA5kjE78B7esl0IeEUL+++aoxjEpmPZVtwN6mN2smOan4LDzZHV4DhUyCtDdE+qLxUfWg110wh7mwQmLZ1x7POGFvSWJyL4KiHWUbUoQo4ocBXIP7xA9MuRYDuP/t2SXmexVB4XubhEmPZVklYKJEO6UlCZY698mT+wpJICFoIjOdCJ3Ww8ZAr4PCJybrdKBc9AUfiYJJxaAk6etRZLVQBSRWM1FtbFmwzvFtdOuHT+5KzRxjDww/0oh6JJubmVp4z+GR6iVB/DU82q3tgQXZq947WXAVsZH2pNPDsf3Xh6CCm5ZVp+1JT7ephmIgMdUpMk3w0XOUo3ZryioCNOwxtZda4+6374JKTUn70RqGKdDFA5XpcDhpergqyMQBNPQB0nWPNf4bMAIMDfegaLkHigXGdpvogqOIT7WmxLkNdUre4FHa+JSAr5bLAxiYi5BM0my6p5UHheiR9Fv3DgKvGnv9ZnNmMVc6Bu/JMMQ33dgxnanfNSFDpuGss4NQMAcKOHTvPHsgkWlOG7C18lwqRuZ4RIX1uWCsbjeF16KtdUHnKOOV7ZQBBQM96MLQ+YKTOuoTLBClIl4CzHwRpE5ubSgMDMKl05N+goQ5P9YpKNjDod8Eq7JXqHwRpFTSblxK2EFdjNMZ2pm4xTKS3iQvVjNwZxec1hYUzXbvvUaqCVfC2mNwoPH5svDq5OZ1emCy4L8TVT/OhCTtwXh9VASGeBR/b0DBHE7TEhHGCdOFVBCyOrfZDRh8nDqs1tlnpy+kNkjcov1Bpu6YaQjm67Au8cmGw1uPQa9w4vD6gcskw6nAg5h3wedTBveUDPzYhF8MI7O+g2lL7XGGBYXhWjMVxfX7FzxRREQ2ijCQ2GrZgLIrnDC+fpVeAoU710YwUz2Z6S4AfiHoJsfFZi9hBnHGSIuIOKvc/I1qrZVKPEa1kUWfBLhOIgaFyPECJ7zPFFxRAeicrm2xjnELS1l2toKY9L5CdDL4D8JZ8l/Qg7dj4DaAEz/fgM4050ggeBp37z8EnYOlfSjIGewVXK73N6YGKenqvyGuYW7T4mbFqnWpgqUOP5BCK/3uhbZT4AVmAoM5/oD167djD7/0SWsseFMzaEctJt32FTiHADR2p0dSPs6zpoSv+VlYxRw7RpRuBRlnJFu7AGDraH5+xhYSLvwT7VW02ggkMz+wq5hhgWQNtLfPw5AFYsPoywAB6HqOfkH+RtCytIZ09xVuPIEliIG1f5F0DcfBOU0/EmJb/NQJo+k5BGWCksmbKuwiByd7ctATSTtYuPYlqwA0yArO5Dvpm9XImtRy3YTCzQVrSsdoYD52FHAQxA9uD90P7OLoJXhoWgwjvfLzLQ8alsTPtHbowfq38zinlguRC/xnVBiqhYErVvrxNbtE0ePqxxgbBbmELqPEoAutcQ7tQS/EOE4O1Hmg1HJhNQERTgeYUsApcEQwTLUwjGEA28IMY8pkXgpBK8WYHjTfm5vXsIKazn4Q2xSXlwmcPfyvBsUN0KmHmQQP3Jhvlo+OUizn6jfaSQ5B0yLZa/Kgz9jH5NbXOo/bx+Rgy+zQRNDdRnuepEoxcKEMvnnpgRCMXmNBsLLihaDcuYMyedBNZnkoZf2zCwYXF2tbwevgO4X299EHDx1sI8DREQbxZjjVXiForeaJANR/+FUtbkOCPd1egZSdQYQERV5K0b5do9Tk/GwV82MzbkoYL+u1GTVSvrIZnv+Ma11JY/ZxnRccz/lZho7htYQv4RbK30VSSD1V5zdeFyBBwLPOLTA1+LB0VNCHxNL9o12N6x4rMWGpIw/aPeF1tcLdzoEO63k4FtwN8vMP94PD1qMhaXrq8ao8aHgSeUVRqdOkiYo3a/qAma29yRcecBj0Z4tsjvKiPKgLcq4p9rMLaTkfqGtvAE43DC90B8E/H3h/8CDy8/Kg5oHUq4JkKno3xqp+J4AdxO8Kr7RB4bFcV8sPaQWgzzQhQ7IRj4oSwvPEJ1zf8QMcAegTTcgQZx95CRYVn78PFPbwa9Zy4iX62Ffe0pf0tEJQALg0p9Pxnt9vRqFWbFOmCBRJz2Po4dgbjtvZ/kZQtN6Tvtxlc8S81fqQlZOsFtwUaQP6UOzwAEHxnQLcqiUJTkWlPKtQW1DY9iCt2CmPyqlpjvtYVZtgjU/FIbcpBdUPLBCsA2wkWPocw1ZdaqebJzw+pQwoWhsmWGyYhDu2GyEgOz/lzcXLlUohpcqCwqyOuv1qFWXDlebfJZO8m67bz2sHFCTHHmHbnk+nM2mkcint8B2+6AD0eQ25ycv9gtcnVBE0+xtOMvfiJ1QPVKUd76DxS5ZoRdBNX5DVm35m7lzVQHMeFy23Ulm2WNVA22xt7eNPwzvVAp3ymfj3/BRkJdCd3w/AZtQvUSVQni+s3dNX9pLqgO5MqD+b+bzqgO5MaNh59WnVAc1P6M7zr59RFdAp3xVgf+jkO1QFNP9zj7LCj8XWUw1QselfsOq/Z28B1QANWgMDLZlWsg+qBqjr+IuU9nB+VBVAtw/7Gc3f5HJBFUBdO2Ao5Vr9vkQVQLM+15xZf5HKQbMn5WFX/3eoHDT3+MD11t+3qRw0asW0ck8Gfo9uAR2+zOOi7gCd4+fXvkM3gC5nz0J9ROWg24dwl2/bQY3KQfXDjF5LzXaviioHfQRPruL8njdvfkQVQLmfUsmuNG9+RBVAH61tT1Kclv0a452qASobMggxdfst1V+gGqDYykLIl///i1UB/Rf0B/rb9Af62/QH+rv0ePwHhuJkw/TfPG4AAAAASUVORK5CYII="; 

Использование API автоматизации Word, как я могу вставить это в качестве изображения в документе Word, в памяти?

Предпочтительно без использования системного буфера обмена или вставки из файла.

+0

Какую версию (ы) Слова вы таргетирования ? –

+0

MS Word 2010 и 2013 – orad

ответ

2

Единственная возможность вставить графику из base64 - это использовать Word Open XML.

Для этого с помощью API-интерфейсов вам необходимо сгенерировать допустимый Word Open XML в формате файлов OPC. Это можно вставить в документ, открытый в приложении Word, используя метод Range.InsertXML.

Самый простой способ определить, чем является действительный Word Open XML, заключается в том, чтобы записать его в строку, используя свойство Range.WordOpenXML. Например, вставить изображение в качестве InlineShape затем Document.InlineShapes[index].Range.WordOpenXML;

Или, используя окно проверки в редакторе VBA и записи его к текущему выбору в документе:

Selection.Text = ActiveDocument.InlineShapes(1).Range.WordOpenXML 

затем нажмите Enter.

Вы должны увидеть изображение как base64 в XML.

Это генерирует полный, полный Word Open XML, и вы можете использовать его «как есть», заменяя base64 (и, возможно, настраивая свойства размера). Но вам не нужно все это для InsertXML. Если вы хотите, чтобы обрезать его вниз, или понять больше о том, что происходит, эта статья объясняет, что минимальные требования и предоставляет больше справочной информации:

https://msdn.microsoft.com/en-us/library/office/dn423225.aspx