TeemeeT Ответов: 1

Как конвертировать изображение (в байтах) в PDF без физического пути


Я должен конвертировать файлы изображений (преобразованные в байты) в pdf-файл без физического пути. Я использую ABCPDF. Пожалуйста помочь. Ниже приведен мой текущий код, но он требует наличия физического пути для преобразования в PDF.

строковое изображение = @"C:\Users\osmtft\Desktop\Teemee\NSO_ReportOfBirth2013_h800.jpg";
парам.Она = Система.ИО.Файл.ReadAllBytes(изображение);

MemoryStream ms2 = Новый Поток памяти();
МС2.Писать(парам.ImageData, 0, param.Она.Длина);

XImage theImg = новый XImage();
теимг.Метод setdata(парам.Она);

Doc theDoc = новый документ();
theDoc.Формату носителя.Строка = theImg.Ограничивающего прямоугольника.Строку;
theDoc.Прямоугольник.Строка = theDoc.Формату носителя.Строка;
тот самый доктор.AddImageObject(theImg, false);
theDoc.Сохранить(МС2);

Doc theDoc2 = новый документ();
theDoc2.Read(theDoc.метод GetData());
//theDoc2.Save(newFilename);

imageBytes = theDoc2.GetData();

Doc theDoc3 = новый документ();
theDoc3.Read(theDoc.метод GetData());
theDoc3.Save(@"C:\Users\osmtft\Desktop\Teemee\helloXXX.pdf");

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

Я попытался найти какие-либо методы в документации ABCPDF. Но безрезультатно.

Richard MacCutchan

Затем вам нужно сделать то, что требует приложение.

F-ES Sitecore

Какой путь вы пытаетесь устранить? Путь к исходному изображению или путь к результирующему PDF-файлу?

TeemeeT

Мне нужно устранить физический путь к результирующему PDF - файлу при преобразовании изображения в PDF. После преобразования я загружу PDF-файл на файловый сервер http. Наше приложение развернуто в azure. Существует ли какой-либо способ использовать физический путь для обработки во время развертывания приложения в azure?

1 Ответов

Рейтинг:
0

Jochen Arndt

Это зависит от того, где сгенерированный PDF-файл будет использоваться позже.

Если вы не хотите сохранять PDF-файл, используйте Функция Doc GetData. Сохраняет документ в памяти. ABCpdf.NET библиотека PDF.[^]. Возвращаемый массив байтов содержит необработанные PDF-данные (те же данные, что и при записи в файл). Используйте его в своем приложении, передавайте другим приложениям, например, с помощью буфера обмена, или отправляйте по сети.


TeemeeT

Мне нужно устранить физический путь к результирующему PDF - файлу при преобразовании изображения в PDF. После преобразования я загружу PDF-файл на файловый сервер http. Наше приложение развернуто в azure. Существует ли какой-либо способ использовать физический путь для обработки во время развертывания приложения в azure?

Jochen Arndt

Просто используйте необработанные данные для загрузки на сервер (они все равно требуются для этой задачи). Если это делается другим приложением, вы должны передать данные в это приложение. Если использование физического файла для передачи не является вариантом, вы должны использовать другой метод. Но я не знаю вашей установки и поэтому не знаю, какие методы можно использовать.

[РЕДАКТИРОВАТЬ]
Чтобы было понятнее:
Просто не вызывайте функцию Save (), а используйте вместо нее массив байтов, возвращаемый GetData ().

Функция Save() не делает ничего, кроме создания файла и записи в него необработанных данных.
[/РЕДАКТИРОВАТЬ]