簡體   English   中英

魔術圖像庫將不正確的 header 寫入 PDF 文件?

[英]magick image library writing incorrect header to PDF files?

我正在使用非常有用的magick庫來讀取和注釋 PDF 文件,並在結果上疊加圖像。 我可以生成一個看起來和我期望的一樣的 PDF 文件。 但是,當我打開文件時,header(我希望它會讀到類似%PDF-1.7的內容)會像這樣讀取‰PNG

PDF 文件未顯示預期的標題

在我看來, magick正在查看最近的操作,即image_composite用於 PNG 文件,並將其用於 header。 如果是這樣,這是一個錯誤嗎? PDF 文件是 output 似乎格式正確,所以它似乎沒有引起問題,但我很好奇。 以下代碼應該能夠重現該問題。

require(magick)
require(pdftools)

pdf_file <- "https://web.archive.org/web/20140624182842/http://www.gnupdf.org/images/d/db/Hello.pdf"
image_file <- "https://upload.wikimedia.org/wikipedia/commons/thumb/8/87/PDF_file_icon.svg/200px-PDF_file_icon.svg.png"

my_image <- image_read(image_file,density = 300)
pdfimage <- image_read_pdf(pdf_file,density = 300)

pdfimage2 <- image_annotate(pdfimage, "test",
                          location = "+400+700", style = "normal", weight = 400, 
                          size=42)

pdfimage3 <- image_composite(pdfimage2,my_image,operator="atop",
                             offset = "+100+100")

image_write(pdfimage3, path = "C:/temp/test.pdf", density = 300, flatten = TRUE)

我沒有回答這個問題,因為解決方案非常明顯。 回想起來,我只是假設,因為我使用了image_read_pdf它應該並且會以 PDF 格式保存。 我需要做的是明確指定它。 image_write調用添加format = "pdf"參數實現了這一點。

image_write(pdfimage3, path = "C:/temp/test.pdf", density = 300, format = "pdf", flatten = TRUE)

這將產生一個格式良好的 PDF。 問題解決了。 學過的知識。

帶有正確標題的 PDF 文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM