Я использую библиотеку OpenXML, чтобы получить HTML -содержание страницы и преобразовать ее в Word. Этот контент соответствует документу и его индексу с гиперссылками. Указывая на место в текущем документе. Это метод: < /p>
[Function("Word")]
public HttpResponseData RunWord([HttpTrigger(AuthorizationLevel.Admin, "get", "post")] HttpRequestData req)
{
ReadHeaders(req);
try
{
telemetryClient.TrackTrace("RunWord Entry");
string body = new StreamReader(req.Body).ReadToEnd();
var deserializedData = JsonConvert.DeserializeObject(body);
var type = deserializedData["Content"].GetType();
var bodyLength = body.Length;
Content contentObject = JsonConvert.DeserializeObject(deserializedData["Content"].ToString());
var contentObjectBodyLength = contentObject.Body.Length;
WordSettings wordSettingObject = JsonConvert.DeserializeObject(deserializedData["WordSettings"].ToString());
wordSettingObject = wordSettingObject ?? new WordSettings();
var htmlPage = new HtmlPage(contentObject, wordSettingObject);
var word = new Word(htmlPage);
telemetryClient.TrackTrace("Parameters initialized. Call to Converter for Word");
byte[] data = CallConverter(word);
var response = GetResponse(data, req);
response.Headers.Add("Content-Type", "application/octet-stream");
return response;
}
catch (Exception ex)
{
var response = req.CreateResponse();
response.StatusCode = HttpStatusCode.InternalServerError;
response.WriteString(ex.Message);
response.WriteString(ex.StackTrace);
telemetryClient.TrackException(ex);
return response;
}
}
< /code>
Значение тела заключается в следующем (пожалуйста, не возражайте против языка, это не имеет значения): < /p>
Значение« тела »внутри переменной ContentObject:
Как видно, сравнивая оба Изображения, контент отличается. Однако, если я скопирую контент из ContentObject и вставляю его где угодно, я вижу, что он правильно встает, соответствующая содержанию тела (я вставил его в документ Word, чтобы показать его). < /P>
Кажется, что содержание перекрывается
Однако, если я закончу процесс преобразования HTML в Word, я вижу, что мой документ Word начинается так: < /p>
Когда это должно выглядеть так:
Поэтому я подозреваю, что что -то происходит в Процесс десериализации тела, но я не до конца понимаю, что может быть. P> Я что -то упускаю? Есть ли какое -то поведение jsonconvert.deserializeObject , которое я упускаю?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-openxml
Проблема с гиперссылками в индексе при преобразовании HTML в Word с использованием openxml ⇐ Html
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение