【问题标题】:Itext 5.5 Adding Image to Document [duplicate]Itext 5.5将图像添加到文档[重复]
【发布时间】:2020-07-28 12:11:30
【问题描述】:

我正在使用 itext 并创建 PDF 文件。我需要将 JPG 文件添加到我的文档中,但我不能。我为我的应用程序创建了一个测试文件夹,它位于 assets/imageAssets 中,包括 jpg.jpg 文件,但我无法将该 JPG 文件添加到我的文档中。我收到“没有这样的文件和目录”错误。这是代码块

        var filePath = "assets/imageAssets/jpg.jpg"
        var image: Image? = Image.getInstance(filePath)
        document.add(image)

其实我还有一个问题。我正在从用户那里获取用户签名,并将其保存在外部存储文件夹中。那个 jpg 将是我要添加到我的 PDF 中的东西。我在哪里可以保存它们,如何访问它们?谢谢!

【问题讨论】:

  • 几乎可以肯定有几个问题已经回答了这个问题。
  • 谢谢,我尝试了很多块,但它们都不起作用,这有助于进行一些编辑。我会发送函数。

标签: android kotlin itext pdf-generation jpeg


【解决方案1】:
 @Throws(DocumentException::class)
private fun addImage(document: Document)
{
    try { // Get user Settings GeneralSettings getUserSettings =
        val rectDoc = document.pageSize
        val width = rectDoc.width
        val height = rectDoc.height
        val imageStartX = width - document.rightMargin() - 315f
        val imageStartY = height - document.topMargin() - 500f
        System.gc()

        val ims: InputStream? = activity?.assets?.open("test.jpg") //Inside a Fragment
        val bmp = BitmapFactory.decodeStream(ims)
        val stream = ByteArrayOutputStream()
        bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream)
        val byteArray: ByteArray = stream.toByteArray()
        // PdfImage img = new PdfImage(arg0, arg1, arg2)

        // Converting byte array into image Image img =
        val img = Image.getInstance(byteArray) // img.scalePercent(50);
        img.alignment = Image.TEXTWRAP
        img.scaleAbsolute(200f, 200f)
        img.setAbsolutePosition(imageStartX, imageStartY) // Adding Image
        document.add(img)
    } catch (e: java.lang.Exception) {
        e.printStackTrace()
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多