Як абсолютно позиціонувати зображення в існуючому pdf за допомогою itextsharp

Ось код, який я маю до цього часу:

Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO

Module Module1

    Sub Main()
        AddjImage("C:\test.png", "c:\pdfTemplate.pdf", "C:\output.pdf")
    End Sub
    Private Function AddjImage(ByVal strImageFileName As String, ByVal pdfTemplateFile As String, ByVal outputPdf As String) As Boolean
        Try
            Dim iPdfReader As PdfReader = New PdfReader(pdfTemplateFile)
            Dim iPdfStamper As PdfStamper = New PdfStamper(iPdfReader, New FileStream(outputPdf, FileMode.Create))
            Dim imgjImage As iTextSharp.text.Image
            Dim bytContent As PdfContentByte
            'Insert Image
            imgjImage = iTextSharp.text.Image.GetInstance(strImageFileName)
            imgjImage.Alignment = iTextSharp.text.Image.ALIGN_TOP
            imgjImage.ScalePercent(78)
            imgjImage.SetAbsolutePosition(445, 0)
            bytContent = iPdfStamper.GetOverContent(1)
            bytContent.AddImage(imgjImage)
            iPdfStamper.FormFlattening = True
            iPdfStamper.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function    
End Module

Pdf знаходиться у вигляді ландшафту. Розмір сторінки - A4. Я намагаюся вставити зображення на правій стороні сторінки PDF. Я хочу вирівняти зображення на х = 445 і у = 0 положення.

У мене є пару зображень з двома розмірами. Вони є: зображення 1 з шириною = 500 пікселів; висота = 910 пікселів; зображення 2 з шириною = 500 пікселів; висота = 400 пікселів;

Проблема полягає в тому, що обидва зображення вирівнюються вгору замість верхнього. внаслідок чого верхня частина зображення 1 відрізана.

1

1 Відповіді

Я спробував ваш код (з модифікаціями), щоб відповідати моїм кліком події в wpf додаток. Лінія нижче повинна бути змінена для збільшення зображення. Я відчуваю, що 0, який ви використовуєте, починається знизу.

imgjImage.SetAbsolutePosition(445, 0)

змінити на

imgjImage.SetAbsolutePosition(445, 200)

200 не є абсолютним, його потрібно змінити на фактичний розмір вашого зображення.

0
додано
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug