Member 11471318 Ответов: 2

Как конвертировать буфер в pdf и скачать


Как преобразовать данные в файловом потоке в pdf без какого-либо плагина, используя код c# и
скачать.

Что я уже пробовал:

byte[] fileContents = Docx();
         using (FileStream file = new FileStream(wordPath, FileMode.Create))
         {
             file.Write(fileContents, 0, fileContents.Length);
             file.Close();
         }


я хочу преобразовать данные в fileContents в pdf

ZurdoDev

C# изначально не поддерживает преобразование в pdf, поэтому вам придется использовать сторонний инструмент.

2 Ответов

Рейтинг:
2

OriginalGriff

Вы не можете-или, по крайней мере, не в разумные сроки.
DOCX-это сжатый формат документа на основе XML, PDF-ничего подобного.
Вы не можете просто взять "сырой" DOCX в виде потока байтов и сказать: "это PDF" - вы должны обработать файл DOCX в документ и переинтерпретировать этот документ как PDF-файл.

Используйте плагин или API - это действительно не очень хорошая идея, чтобы попытаться сделать это самостоятельно, просто слишком много вовлечено, поскольку ни один формат документа не является тривиальным для понимания и обработки.


Member 11471318

тогда как решить эту проблему с помощью wkhtmltopdf

OriginalGriff

Прочтите их документацию.
Но... вы понимаете, что HTML также не является DOCX?

Member 11471318

у меня есть данные о буфере, которые нужно преобразовать и загрузить в формате pdf. я попытался использовать oword, но потерпел неудачу

OriginalGriff

Так в каком же формате он будет создан? Откуда ты это знаешь?

Рейтинг:
2

NikoMar

Это возможно,но вам понадобится сторонняя библиотека. В этом случае ваш код может выглядеть следующим образом:

byte[] fileContents = Docx();
using (FileStream file = new FileStream(wordPath, FileMode.Create))
{
	file.Write(fileContents, 0, fileContents.Length);
	file.Close();
}

// dummy object for constructor, since you will not merge outside data
object myDataObject = new object();

DocumentGenerator dg = new DocumentGenerator(myDataObject); 
MemoryStream outputDocumentStream = new MemoryStream(); 
dg.GenerateDocument(file, outputDocumentStream, Pdf); 

Увидеть больше примеры если вы думаете, что это может быть полезно для вас.


Member 11471318

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