Как сделать абсолютное положение изображения в существующем pdf, используя itextsharp - PullRequest
1 голос
/ 28 октября 2011

Вот код, который у меня есть:

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-файл в альбомной ориентации.Размер страницы - А4.Я пытаюсь вставить изображение на правой стороне страницы PDF.Я хочу выровнять изображение по x = 445 и y = 0.

У меня есть пара изображений двух размеров.Это: изображение 1 с шириной = 500 пикселей;высота = 910px;изображение 2 с шириной = 500 пикселей;height = 400px;

Проблема в том, что оба изображения выровнены снизу, а не сверху.из-за этого верхняя часть изображения 1 обрезается.

1 Ответ

1 голос
/ 16 июля 2018

Я попробовал ваш код (с изменениями), чтобы он соответствовал моему событию нажатия кнопки в приложении wpf.Строка ниже должна быть изменена, чтобы изображение увеличивалось.Я чувствую, что 0, который вы используете, начинается снизу.

imgjImage.SetAbsolutePosition(445, 0)

, который нужно изменить на

imgjImage.SetAbsolutePosition(445, 200)

200 не является абсолютным, его необходимо перенастроить для фактического размера вашего изображения.

...