使用Ghostscript将PDF转换为PDF / X1a时,透明度会丢失

时间:2015-07-09 08:08:59

标签: pdf pdf-generation ghostscript pdftk

我们需要将使用ApacheFOP创建并与using UnityEngine; using System.Collections; public class DestroyByContact : MonoBehaviour { public GameObject explosion; public GameObject playerExplosion; void OnTriggerEnter(Collider other) { if (other.tag == "Boundary") return; Instantiate(explosion, transform.position, transform.rotation); if (other.tag == "Player") { Debug.Log("We were here!"); // I can't see this in console. Instantiate(playerExplosion, other.transform.position, other.transform.rotation); } Destroy(other.gameObject); Destroy(gameObject); } } 合并的PDF转换为PDF / X-1a。我已经使用以下内容创建了pdftk

PDFX_def.ps

然后我在以下命令中使用此文件:

%!
% This is a sample prefix file for creating a PDF/X-3 document.
% Feel free to modify entries marked with "Customize".
% This assumes an ICC profile to reside in the file (ISO Coated sb.icc),
% unless the user modifies the corresponding line below.
systemdict /ProcessColorModel known {
systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and
} {
true
} ifelse
{ (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)=
/ProcessColorModel cvx /rangecheck signalerror
} if
% Define entries to the document Info dictionary :
[ /GTS_PDFXVersion (PDF/X-1:2001) % Must be so (the standard requires).
/GTS_PDFXConformance (PDF/X-1a:2001)
/Title (Title) % Customize.
/Trapped /False % Must be so (Ghostscript doesn't provide other).
/DOCINFO pdfmark
% Define an ICC profile :
/ICCProfile (/var/www/share/data/files/sRGB_IEC61966-2-1_black_scaled.icc) def % Customize or remove.
currentdict /ICCProfile known {
[/_objdef {icc_PDFX} /type /stream /OBJ pdfmark
[{icc_PDFX} <</N>> /PUT pdfmark
[{icc_PDFX} ICCProfile (r) file /PUT pdfmark} if
%Define the output intent dictionary :
[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark
[{OutputIntent_PDFX} <<
/Type /OutputIntent % Must be so (the standard requires).
/S /GTS_PDFX % Must be so (the standard requires).
/OutputCondition (Commercial and specialty printing) % Customize
/Info (none) % Customize
/OutputConditionIdentifier (CGATS TR001) % Customize
/RegistryName (http://www.color.org) % Must be so (the standard requires).
currentdict /ICCProfile known {
/DestOutputProfile {icc_PDFX} % Must be so (see above).
} if
>> /PUT pdfmark
[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark

我正在使用Ghostscript 9.05,这里是原始PDF和结果PDF的链接:

正如您在PDF文件中看到的那样,图像周围的透明度会丢失。你知道怎么解决吗?或者用Debian从原始文件创建PDF / X1a文件的更好方法是什么?

1 个答案:

答案 0 :(得分:4)

您无法使用Ghostscript可靠地创建PDF / X1-a PDF文件。 PDF / X-1a格式限制色彩空间的方式,旧版pdfwrite设备不能支持,而新版本则不支持。

PDF / X1-a不支持透明度,因此无论如何都无法生成具有透明度的PDF / X-1a文件,如果您使用Ghostscript进行尝试,它只会创建一个包含大位图图像的PDF文件

您还应该使用更新版本的Ghostscript,但这不允许您创建PDF / X1-a文件。除了上面引用的URL中的“原始”之外,我看不到任何内容,所以我不能说输出文件是否有问题。

注意,当我继续告诉别人,当您使用pdfwrite而不是“转换”输入PDF文件时,您将根据原始PDF文件中的标记操作符创建一个全新的PDF文件。但是,实际的新页面描述不一定与原始页面描述有任何关系。