Если вы помните HTML, то класть картинки в телo HTML напрямую никогда не требовалось, поскольку для них существует специальный тег или .
Форматом рендеринга IE есть и будет продолжать оставаться HTML, потому вам достаточно написать в нужном месте вашего XSLT буквальную строчку:
и при выводе нужной ячейки таблицы в ней обязательно IE должен обязательно показать нужную картинку, лежащую по адресу «pictures/dvp.gif».
DVP_ Гость
Если вы помните HTML, то класть картинки в телo HTML напрямую никогда не требовалось, поскольку для них существует специальный тег или .
Форматом рендеринга IE есть и будет продолжать оставаться HTML, потому вам достаточно написать в нужном месте вашего XSLT буквальную строчку:
и при выводе нужной ячейки таблицы в ней обязательно IE должен обязательно показать нужную картинку, лежащую по адресу «pictures/dvp.gif».
Это можно использовать только если я таскаю вместе с XML и картинку, но задача стоит в том, чтобы передать картинку в XML файле. Тогда нам необходимо сначало декодировать ее, сохранить в файл и затем ставить ссылку на нее. А вот как запустить процесс декодирования я не знаю. Понимаю, что это должен быть какойто скрипт, но скрипт не может сохранить файл (если я не ошибаюсь).
andy taler Гость
>> но задача стоит в том, чтобы передать картинку в XML файле.
Насколько мне известно, таковых или аналогичных задач [на планете] никто НИКОГДА перед XML не ставил и не решал.
Если отказаться от IE, то можно попробовать так:
Общий вариант: с помощью XSLT можно генерировать таблицу заданного размера, в которой каждая ячейка имеет размер 1×1 пиксел и нужный цвет фона.
DVP Новичок
Зарегистрирован: 20.03.2003 Сообщения: 5
>> но задача стоит в том, чтобы передать картинку в XML файле.
Насколько мне известно, таковых или аналогичных задач [на планете] никто НИКОГДА перед XML не ставил и не решал.
Зарегистрирован: 20.03.2003 Сообщения: 5
Если отказаться от IE, то можно попробовать так:
Общий вариант: с помощью XSLT можно генерировать таблицу заданного размера, в которой каждая ячейка имеет размер 1×1 пиксел и нужный цвет фона.
Поправляю: этот код находится в HTML. Смотри RFC 2397.
Кроме того мне зарание не известны размеры картинки (логотипа).
Та программа, которая вставляет картинку в XML, может также вставить дополнительные параметры.
DVP Новичок
Зарегистрирован: 20.03.2003 Сообщения: 5
Если отказаться от IE, то можно попробовать так:
А что значит отказаться от IE.
DVP Новичок
Зарегистрирован: 20.03.2003 Сообщения: 5
Поправляю: этот код находится в HTML. Смотри RFC 2397.
Кроме того мне зарание не известны размеры картинки (логотипа).
Та программа, которая вставляет картинку в XML, может также вставить дополнительные параметры.
Давайте вернемся на пару шагов: У меня имется XML и XSL файлы. В XML лежит некоторый отчет о работе. Я хочу, чтобы при его открытии в IE с помощью XSL данные были читабельны для пользователа (некоторая таблица). Это уменя работает. Теперь вопрос: как мне отобразить в данной таблице логотип того, кто создал отчет. Как вариант можно указать ссылку на уже имеющийся файл, но мне неизвестны все картинки которые будут, кроме того если XML передали в другой офис где имеется только XSL то отпечатать отчет из IE с логотипом не смогут.
olpa Любитель
Это очень правильно, что мы вернулись к постановке вопроса, а не к решению технических задач. Если бы вы у вас не было XML, и вы бы использовали HTML, то как бы вы сделали отчёт с логотипом?
А что значит отказаться от IE.
Выкинуть IE и использовать Mozilla.
DVP Новичок
Зарегистрирован: 20.03.2003 Сообщения: 5
Это очень правильно, что мы вернулись к постановке вопроса, а не к решению технических задач. Если бы вы у вас не было XML, и вы бы использовали HTML, то как бы вы сделали отчёт с логотипом?
А что значит отказаться от IE.
Выкинуть IE и использовать Mozilla.
К сожалению я немогу так поступить т.к. у клиентов в 99.9% случаев стаят IE и просматривать отчеты они будут там, или просто импортируют эти данные в обобщающие отчеты, но уже со своим логотипом.
to DVP >> 1. Я сам положу его туда. >> и 2. Пользователь, который..
1) Возможно, задачу вы решите, но это серьезная проблема, когда у вас не мелькает ни малейшей мысли, что живете вы на этой земле не в одиночестве напару с фирмой, и в случае положительного решения «вашей задачи» _кто-то другой_ (возможно, на конце не-вашего материка) постоянно начнет тратить личное время, личные доллары и пр. и пр. и пр. ПРОСТО хотя бы НА ПРЕДМЕТ ПРОСТЫХ ПРОВЕРОК, а нет ли в пришедших к нему XML bin64, а внутри вирусов? Откуда ему об этом знать? Он вообще чайник. И спираль снова начинает разгоняться. И снова..
2) Есть и еще одна причина, почему лично я скажу здесь ровным счетом нуль слов по поводу конкретно вашей задачи, она изложена в http://xmlhack.ru/forum/xml/viewtopic.php?p=4197#4197 (see private statement)
нашлась-нашлась организация, рискнувшая заняться проблемой (по-взрослому) и выработать нужный стандарт, и название ей AIIM International http://www.aiim.org/
New York, NY, USA. April 7, 2003 (http://xml.coverpages.org)
XML is rapidly growing in use as a method of sharing metadata with text files, but does not currently support binary data, such as document images. .. This standard focuses specifically on document image files and may result in the development of an International Standard within ISO TC 171/SC2/WG2.
The goal of the standard is to improve document image exchange and facilitate the sharing of indices and other data without needing to convert them from other non-standard formats. .. This standard will establish a method for not only enabling the sharing of images, but also the critical index and other values needed to store, retrieve, and distribute them.
Individuals or organizations interested in joining the committee should contact at (see site)
As a non-profit association for more than 50 years, AIIM provides news, information and resources through its industry web portal and ongoing education..
Гость
Если вы помните HTML, то класть картинки в телo HTML напрямую никогда не требовалось, поскольку для них существует специальный тег или .
Форматом рендеринга IE есть и будет продолжать оставаться HTML, потому вам достаточно написать в нужном месте вашего XSLT буквальную строчку:
и при выводе нужной ячейки таблицы в ней обязательно IE должен обязательно показать нужную картинку, лежащую по адресу «pictures/dvp.gif».
Это можно использовать только если я таскаю вместе с XML и картинку, но задача стоит в том, чтобы передать картинку в XML файле. Тогда нам необходимо сначало декодировать ее, сохранить в файл и затем ставить ссылку на нее. А вот как запустить процесс декодирования я не знаю. Понимаю, что это должен быть какойто скрипт, но скрипт не может сохранить файл (если я не ошибаюсь).
Я использую следующий код php для создания файла XML:
2 ответа
Я знаю, что есть несколько постов с похожим названием, но они, похоже, не относятся к одному и тому же вопросу. Я пытаюсь поместить тег изображения в положение курсора внутри конкретного textarea из всплывающего окна, созданного кнопкой с той же страницы, что и текстовая область. На данный момент.
Пожалуйста, попробуйте избежать специальных символов в теге изображения.
Кроме того, можете ли вы показать образец вашего канала rss здесь, чтобы ответ был более точным.
Я бы предложил окружить данные в структуре XML escape-как таковой:
Однако я не знаком с simplepie, поэтому не знаю, правильно ли он понимает CDATA.
Похожие вопросы:
у меня есть эти метки img = a = теперь я хочу вставить.
У меня есть следующий файл xml: 1 1234567890
Я знаю, что есть несколько постов с похожим названием, но они, похоже, не относятся к одному и тому же вопросу. Я пытаюсь поместить тег изображения в положение курсора внутри конкретного textarea из.
У меня есть сомнения в том, чтобы вставить сюда тег xml. Как это сделать?
Я генерирую файл XML динамично из базы данных с помощью Ruby Builder ( http://builder.rubyforge.org/ ). Чтобы добавить тег, имя которого находится в переменной, я нашел следующее.
У меня есть файл XML, содержащий 13 столбцов. Я хочу загрузить файл в таблицу Oracle, которая имеет те же столбцы, что и файл. Я попробовал вставить его с помощью внешней таблицы. Он загружает.
Как вставить изображение в текстовый документ (Open XML SDK)
Настоящая документация является предварительной и может быть изменена. В этом разделе показано, как использовать классы в пакете Пакет Open XML SDK 2.5 для Office для добавления изображения в документ Word программными средствами.
Для компиляции кода, представленного в этом разделе, требуются следующие директивы сборки.
Открытие существующего документа для редактирования
Чтобы открыть существующий документ, создайте экземпляр класса WordprocessingDocument, как показано в приведенном ниже операторе using. В том же операторе откройте текстовый файл по указанному пути, используя метод Open(String, Boolean) и задав для логического параметра значение true, чтобы разрешить редактирование документа.
Представление графического объекта в формате XML
В спецификации ISO/IEC 29500 (Возможно, на английском языке) содержатся следующие сведения об элементе данных графического объекта.
Этот элемент определяет ссылку на графический объект в документе. Графический объект добавляется авторами документа, которые сохраняют в документе эти данные.
[Примечание. В зависимости от используемого типа графического объекта не каждое приложение, поддерживающее платформу OOXML, сможет отобразить графический объект. окончание примечания]
Содержимое этого элемента определено в следующем фрагменте схемы XML
Как работает пример кода
После открытия документа добавьте объект ImagePart в объект MainDocumentPart, используя поток файлов, как показано в приведенном ниже фрагменте кода.
Чтобы добавить изображение в основной текст, сначала определите ссылку на изображение. Затем добавьте ссылку в основной текст. Элемент должен находиться в объекте Run.
Пример кода
В следующем коде в существующий документ Word добавляется изображение. Метод InsertAPicture можно вызвать, передав в него путь к документу Word и путь к файлу с изображением. Например, посредством следующего вызова можно вставить изображение «MyPic.jpg» в файл «Word9.docx» с указанием соответствующих путей.
После запуска кода откройте файл Word9.docx, чтобы увидеть вставленное изображение.
Ниже представлен полный пример кода на языках C# и Visual Basic.
Уроки по модификации пользовательского ленточного интерфейса «Microsoft Fluent UI» для приложений Word, Excel, PowerPoint и Access.
воскресенье, 1 марта 2015 г.
Урок 6. Работа с внешними изображениями
На прошлом уроке я упоминал о том, что на встроенных (штатных) кнопках можно использовать только встроенные изображения, уже имеющиеся в офисе. Если же мы создадим свою кнопку, то сможем разместить на ней как встроенное, так и собственное, внешнее изображение. Давайте попробуем это сделать, добавить в интерфейс внешнее изображение.
Откроем проект прошлого урока и добавим в нашу группу вторую кнопку. Пусть кнопка должна будет в итоге выводить на экран окно с приветствием. Поскольку кнопка будет самодельная, вместо idMso для задания идентификатора используем id. В качестве идентификатора укажем произвольное слово, например, «Приветствие»:
Теперь запустим документ на выполнение и посмотрим, что получилось. Мы увидим, что справа от нашей большой кнопки, которую мы поместили туда ранее, появилась маленькая, со словом «Поприветствовать». Поскольку изображение ей мы ещё не присвоили, кнопка будет содержать только надпись.
Теперь займёмся изображением. В идеале мы должны создать иконку 32×32, которая бы хорошо смотрелась не только в своём истинном размере, но и при автоматической интерполяции до 16×16. Предпочтительный формат файла изображения, конечно, «png», поскольку он поддерживает градацию прозрачности, что позволит нам избежать рваных краёв у рисунка при его отображении на кнопке.
Само создание иконки в графическом редакторе выходит за рамки нашей темы. В качестве альтернативы, можно поискать нужные иконки в Интернете. Чтобы не нагружать читателя лишними заботами, я выложу пример иконки здесь. Скачайте её и сохраните на диске:
Чтобы вставить изображение в код, нужно, чтобы оно уже находилось внутри структуры документа. На втором уроке я упоминал о паре мест внутри документа, которые нас будут интересовать при использовании внешних изображений. Эти места отображаются на вкладках «Ссылки на изображения» и «Типы файлов».
Поскольку изображений в документе ещё нет, редактор вкладки «Ссылки на изображения» будет пуст. Он будет отображать содержимое файла CustomUI.xml.rels с сылками на импортированные изображения, который будет располагаться внутри документа в папке customUI\_rels. Но пока этого файла тоже нет. Всю эту структуру, а также папку images для хранения изображений внутри документа, Ribbon XML Editor создаст автоматически, в процессе импорта внешнего изображения.
Давайте импортируем изображение в документ. Для работы с внешними изображениями в интерфейсе редактора предусмотрен специальный блок, состоящий из кнопки импорта файла изображения, комбобокса выбора изображения для вставки его идентификатора в текст, кнопки вставки идентификатора и кнопки удаления файла изображения из документа:
На рисунке блок работы с изображениями выделен красной рамкой. Нажмём первую кнопку блока для выбора изображения для импорта, и выберем скачанный и сохранённый ранее файл Рука.png. Его изображение и идентификатор тотчас добавится в комбобокс. Изображение уже в документе.
Что изменилось на вкладках «Ссылки на изображения» и «Типы файлов». На первой из этих вкладок появился следующий текст:
Внутри корневого тега Relationships содержится тег Relationship с сылкой на только что импортированное изображение. Бегло пройдёмся по атрибутам этого тега. C атрибутом id всё понятно — это идентификатор изображения, который будет применяться в тексте. А вот дальше следует атрибут target, указывающий расположение файла внутри папки интерфейса, но вместо имени файла мы видим странный набор символов. Объясняется это просто — офис не поддерживает кириллицу в именах файлов изображений, и поэтому Ribbon XML Editor автоматически кодирует кириллистические символы 36-ричными кодами, содержащими только цифры и латиницу.
Последним атрибутом ссылки является type — тип ссылки. Тип записывается наподобие пространства имён — интернет-адресом, по которому, на момент написания урока, ничего нет. Из его записи мы можем лишь понять, что рассматриваемый тег является ссылкой на изображение, что мы уже и так знаем.
На второй из рассматриваемых вкладок отображается файл [Content_Types].xml, который тоже подвергается некоторым изменениям во время импорта изображений. Файл находится в корне структуры документа и содержит перечисление типов объектов, помещённых в документ. Он уже содержит ряд объектов, а при добавлении изображения в него помещается строка с указанием типа файла изображения в привязке к его расширению. В нашем случае мы добавляли файл «png», поэтому в список добавилась соответствующая строка:
При добавлении следующего изображения с тем же расширением редактор обнаружит наличие этой строки, и не будет уже добавлять новую. А вот если добавить файл другого формата, то в текст вставится новая строка, соответствующая новому формату файла.
Тут надо упомянуть про форматы изображений, поддерживаемых офисом. Процитирую справку Ribbon XML Editor с перечислением форматов, которые поддерживаются этим редактором для импорта:
Практически интерес представляют только первые четыре формата. Остальные, как правило, для интерфейсных изображений не применяются. Отдельно скажу про формат «bmp», опять же процитировав справку:
Так что, если у вас есть коллекция иконок в формате «bmp», никто не запрещает их применять. Но я всё же рекомендую использовать именно формат «png», как наиболее приспособленный для этого дела.
Итак, изображение у нас в документе. Дело осталось за малым — сослаться на него в коде интерфейса. Для этого ставим курсор в конец атрибутов тега кнопки, и нажимаем кнопку «Вставить ссылку на изображение в текущую позицию курсора». В тег вставляется атрибут image со значением идентификатора картинки. Происходит это так же, как и при вставке встроенного изображения из галереи в атрибут imageMso.
Запускаем документ на выполнение, и любуемся красивой кнопкой. При желании можем тоже сделать её большой, добавив атрибут size с указанием в нём значения large.
На этом урок мы закончим. На следующем уроке мы разберём ещё несколько атрибутов, задающих различные надписи элементам, а также увидим интересный пример реализации классического меню с панелями, размещённого прямо на вкладке ленты.
Настоящая документация является предварительной и может быть изменена. В этом разделе показано, как использовать классы в пакете Пакет Open XML SDK 2.5 для Office для добавления изображения в документ Word программными средствами. This topic shows how to use the classes in the Open XML SDK 2.5 for Office to programmatically add a picture to a word processing document.
Для компиляции кода, представленного в этом разделе, требуются следующие директивы сборки. The following assembly directives are required to compile the code in this topic.
Открытие существующего документа для редактирования Opening an Existing Document for Editing
Чтобы открыть существующий документ, создайте экземпляр класса WordprocessingDocument, как показано в приведенном ниже операторе using. To open an existing document, instantiate the WordprocessingDocument class as shown in the following using statement. В том же операторе откройте текстовый файл по указанному пути, используя метод Open(String, Boolean) и задав для логического параметра значение true, чтобы разрешить редактирование документа. In the same statement, open the word processing file at the specified filepath by using the Open(String, Boolean) method, with the Boolean parameter set to true in order to enable editing the document.
Представление графического объекта в формате XML The XML Representation of the Graphic Object
В спецификации ISO/IEC 29500 (Возможно, на английском языке) содержатся следующие сведения об элементе данных графического объекта. The following text from the ISO/IEC 29500 specification introduces the Graphic Object Data element.
Этот элемент определяет ссылку на графический объект в документе. Графический объект добавляется авторами документа, которые сохраняют в документе эти данные. This element specifies the reference to a graphic object within the document. This graphic object is provided entirely by the document authors who choose to persist this data within the document.
[Примечание. В зависимости от используемого типа графического объекта не каждое приложение, поддерживающее платформу OOXML, сможет отобразить графический объект. окончание примечания] [Note: Depending on the type of graphical object used not every generating application that supports the OOXML framework will have the ability to render the graphical object. end note]
Содержимое этого элемента определено в следующем фрагменте схемы XML The following XML Schema fragment defines the contents of this element
Как работает пример кода How the Sample Code Works
После открытия документа добавьте объект ImagePart в объект MainDocumentPart, используя поток файлов, как показано в приведенном ниже фрагменте кода. After you have opened the document, add the ImagePart object to the MainDocumentPart object by using a file stream as shown in the following code segment.
Чтобы добавить изображение в основной текст, сначала определите ссылку на изображение. To add the image to the body, first define the reference of the image. Затем добавьте ссылку в основной текст. Then, append the reference to the body. Элемент должен находиться в объекте Run. The element should be in a Run.
Пример кода Sample Code
В следующем коде в существующий документ Word добавляется изображение. Метод InsertAPicture можно вызвать, передав в него путь к документу Word и путь к файлу с изображением. Например, посредством следующего вызова можно вставить изображение «MyPic.jpg» в файл «Word9.docx» с указанием соответствующих путей. The following code example adds a picture to an existing word document. In your code, you can call the InsertAPicture method by passing in the path of the word document, and the path of the file that contains the picture. For example, the following call inserts the picture «MyPic.jpg» into the file «Word9.docx,» located at the specified paths.
После запуска кода откройте файл Word9.docx, чтобы увидеть вставленное изображение. After you run the code, look at the file «Word9.docx» to see the inserted picture.
Ниже представлен полный пример кода на языках C# и Visual Basic. The following is the complete sample code in both C# and Visual Basic.
November 2018
95.2k раз
Я хотел бы, чтобы вставить изображения в пределах элемента файла XML, что это лучший способ сделать это? Не могли бы вы предложить хороший способ, чтобы включить изображения в XML-файл?
5 ответы
Наиболее распространенный способ сделать это состоит, чтобы включить двоичный код как база-64 в элементе. Однако это временное решение, и добавляет немного объема в файл.
Например, это байты 00 до 09 (обратите внимание, нам необходимы 16 байт для кодирования 10 байт данных):
Я всегда преобразовывать данные байт в кодировке Base64, а затем вставить изображение.
Это также способ, что Слово это делает, потому что это XML-файлы (не то, что Слово является хорошим примером того, как работать с XML: P).
Поскольку XML представляет собой текстовый формат и изображения, как правило, не являются (за исключением некоторых древних и архаичных форматов) не очень разумный способ сделать это. Глядя на такие вещи, как ODT или OOXML также показывает, что они не вставлять изображения непосредственно в XML.
Что вы можете сделать, однако, преобразовать его в Base64 или аналогичных и вставлять его в XML.
пробельная обработка XML может еще более усложнить вещи в таких случаях, хотя.
XML не является форматом для хранения изображений, ни двоичных данных. Я думаю, что все это зависит от того, как вы хотите использовать эти изображения. Если вы находитесь в веб-приложения и хотели бы читать их оттуда и показывать их, я бы хранить URL. Если вам нужно отправить их на другой веб-конечную точку, я бы сериализовать их, а не сохраняющиеся вручную в XML. Пожалуйста, объясните, что это сценарий.