嗨,我正在研究簡單的功能,該功能可以將所有 jpg 檔案marge 并將它們保存為 pdf (使用openpdf)。每個影像都應該適合頁面,并且在它們之間我想要一個空白頁面。我已經有了:
def createFromImage(directory: String, targetFile: String): Unit = {
logger.info(s"Create pdf from images in $directory.")
val document = new Document()
PdfWriter.getInstance(document, new FileOutputStream(targetFile))
document.open()
val resultFiles = new File(directory).listFiles().toList.map(_.getAbsolutePath)
resultFiles.filter(x => x.contains(".jpg")).map {
file =>
import com.lowagie.text.Image
val jpg: Image = Image.getInstance(file)
document.setPageSize(PageSize.A4)
val ratio: Float = PageSize.A4.getWidth / jpg.getWidth
jpg.scalePercent(ratio * 100)
document.add(jpg)
}
document.close()
logger.info("Pdf created.")
}
如何添加空白頁document?
uj5u.com熱心網友回復:
對于干凈的解決方案,您需要使用PdfWriter實體,因此首先替換
PdfWriter.getInstance(document, new FileOutputStream(targetFile))
經過
val writer = PdfWriter.getInstance(document, new FileOutputStream(targetFile))
然后在后面添加document.add(jpg):
document.newPage()
writer.setPageEmpty(false)
document.newPage()
該writer.setPageEmpty(false)是需要做出OpenPdf認為該空白頁不是空的,因為它忽略了document.newPage(),如果它認為當前頁面完全是空的電話。
取而代之的writer.setPageEmpty(false)則可以選擇添加一些不可見的內容,如一個全白影像。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/365506.html
