iTextSharp изображение не отображается в AWS лямбда для C # - PullRequest
0 голосов
/ 04 сентября 2018

Я добавляю изображение в pdf-файл iTextSharp следующим образом:

iTextSharp.text.Document doc = new iTextSharp.text.Document(PageSize.A4, 0F,0F, 0F, 0F);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance("https://s3-eu-west-1.amazonaws.com/foo/bar.png");      
img.ScaleToFit(595, 120);
MemoryStream ms = new MemoryStream();
PdfWriter.GetInstance(doc, ms);
doc.Open();
doc.Add(img);
doc.Close();

Затем я преобразую его в byte[], а затем в base64 string, чтобы он мог обрабатываться AWS API Gateway.

byte[] pdf = ms.ToArray();      

var headersDic = new Dictionary<string, string>();
headersDic.Add("Content-type", "application/pdf");
headersDic.Add("Content-disposition", "inline;filename=file.pdf");

return new APIGatewayProxyResponse
{
    Body = Convert.ToBase64String(pdf),
    IsBase64Encoded = true,
    Headers = headersDic,
    StatusCode = 200
};

Но изображение не отображается в pdf, это почти неотличимая часть, которую вы можете увидеть здесь:

enter image description here

Есть идеи? может быть, преобразование в byte [] или base64 и в двоичный код снова создает проблемы?

Когда я добавляю текст, все идет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...