Как преобразовать ответ веб-сервиса в PDF?C#

Место общения программистов C#
Ответить
Anonymous
 Как преобразовать ответ веб-сервиса в PDF?

Сообщение Anonymous »

ВВЕДЕНИЕ

Я пытаюсь интегрировать веб-сервис Europass с веб-сайтом, который я сейчас разрабатываю.

Этот веб-сервис позволяет вам через файл XML или JSON получить PDF-файл или резюме в формате Word.

Они предоставляют информацию для связи со своими WS и образец XML (здесь), но вы можете сделать это самостоятельно, поскольку вы уважаете их схему.

Чтобы убедиться, что с XML все в порядке, используйте службу удаленной загрузки и просмотрите результирующее резюме из вашего XML на их веб-сайте.

Я использую службу REST, а точнее, XML в PDF CV

МОЕ СОМНЕНИЕ

Моя проблема в том, что я могу взаимодействовать с веб-службой, и я также Получите ответ «ОК» (отлично!), однако при загрузке PDF-файла все пусто.

Что мне здесь не хватает? Не могли бы вы, ребята, подсказать мне?

Чтобы воспроизвести это, скопируйте приведенный ниже код и добавьте содержимое этого XML-файла в файл по пути к содержимому xml.

КОД

//POST
string xmlContent = File.ReadAllText("D:\\Documents\\CV.xml");
string URL = "https://europass.cedefop.europa.eu/rest ... /to/pdf-cv";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/xml";
using (Stream webStream = request.GetRequestStream())
using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.UTF8))
{
requestWriter.Write(xmlContent);
}

//RESPONSE
try
{
WebResponse webResponse = request.GetResponse();
using (Stream webStream = webResponse.GetResponseStream())
{
if (webStream != null)
{
using (StreamReader responseReader = new StreamReader(webStream))
{
string response = responseReader.ReadToEnd();
byte[] byteResponse = Encoding.UTF8.GetBytes (response);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=test.pdf"); // Save file
Response.AddHeader("Content-Length", byteResponse.Length.ToString());
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(byteResponse);
Response.End();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/294 ... e-to-a-pdf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»