2017-05-22 21 views
0

ImageMagickとGhostscriptを使用してTIFF画像からPDFファイルを作成しています。16ビット/チャンネル(48ビット)TIFF画像をPDFまたはPDF/Aに変換するGhostscriptとImageMagick

私のソースtiffは、チャンネルあたり16ビットで、ICCプロファイル(AdobeRGB)が添付されたアルファ(48ビットイメージ)なしであり、最終的なPDFでこれを維持したいと思います。

convert input.tif[0] -density 600 -alpha Off -size 5809x9408 -depth 16 intermediate.ps 

これは([0]を使用してを介してだけ主画像ではなく、サムネイル)私の入力のTIFF画像を受け取り、ビットマップから.PSファイルを作成します。

PostScriptファイルのサイズを見ると、ソースTIFFとほぼ同じサイズ(328MBのTIFFより3〜4MB大きいサイズ)ですが、.psの画像データチャネルあたり8または16ビットです。

次に、GhostScriptを使用してこれをPDFに変換すると、PDFでチャンネルあたり8ビットが得られます。

gs -dPDFA=1 -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sDefaultRGBProfile=AdobeRGB1998.icc -dOverrideICC -sOutputFile=output.pdf -r600 -P PDFA_def.ps -f custom.joboptions intermediate.ps 

pdfimageを使用してPDFを検査すると、チャネルごとに8ビットが表示されます。

%! 
% This is a sample prefix file for creating a PDF/A 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. 

% Define entries in the document Info dictionary : 
/ICCProfile (AdobeRGB1998.icc) % Customise 
def 

[ /Title (Title)  % Customise 
    /DOCINFO pdfmark 

% Define an ICC profile : 

[/_objdef {icc_PDFA} /type /stream /OBJ pdfmark 
[{icc_PDFA} 
<< 
    /N currentpagedevice /ProcessColorModel known { 
    currentpagedevice /ProcessColorModel get dup /DeviceGray eq 
    {pop 1} { 
     /DeviceRGB eq 
     {3}{4} ifelse 
    } ifelse 
    } { 
    (ERROR, unable to determine ProcessColorModel) == flush 
    } ifelse 
>> /PUT pdfmark 
[{icc_PDFA} ICCProfile (r) file /PUT pdfmark 

% Define the output intent dictionary : 

[/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark 
[{OutputIntent_PDFA} << 
    /Type /OutputIntent    % Must be so (the standard requires). 
    /S /GTS_PDFA1     % Must be so (the standard requires). 
    /DestOutputProfile {icc_PDFA}   % Must be so (see above). 
    /OutputConditionIdentifier (sRGB)  % Customize 
>> /PUT pdfmark 
[{Catalog} <</OutputIntents [ {OutputIntent_PDFA} ]>> /PUT pdfmark 

私もcustom.joboptionsファイルを持っている:私のPDFA_def.psの

pdfimages -list output.pdf 

page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio 
-------------------------------------------------------------------------------------------- 
    1  0 image 5809 9408 rgb  3 8 image no  10 0 600 600 74.1M 47% 

内容はGhostscriptがカラープロファイルとして(1998)AdobeRGBのを指定するには、インストールのデフォルトから変更されていますAcrobat Distillerで作成してPDF/A準拠のために修正しました - このファイルにも16ビットイメージを強制しようとしましたが、まだPDFに8ビットイメージがあります。

私は、Ghostscriptがどれだけ多くのオプションを尊重しているか、どれだけ無視しているか分かりません。 PDFを作成するときにこのcustom.joboptionsファイルを使用しないと、画像は非常に低い解像度にダウンサンプリングされます。

<< 
    /ASCII85EncodePages false 
    /AllowTransparency false 
    /AutoPositionEPSFiles true 
    /AutoRotatePages /All 
    /Binding /Left 
    /CalGrayProfile (Dot Gain 20%) 
    /CalRGBProfile (sRGB IEC61966-2.1) 
    /CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2) 
    /sRGBProfile (sRGB IEC61966-2.1) 
    /CannotEmbedFontPolicy /Error 
    /CompatibilityLevel 1.4 
    /CompressObjects /Off 
    /CompressPages true 
    /ConvertImagesToIndexed true 
    /PassThroughJPEGImages true 
    /CreateJobTicket false 
    /DefaultRenderingIntent /Default 
    /DetectBlends true 
    /DetectCurves 0.0000 
    /ColorConversionStrategy /LeaveColorUnchanged 
    /DoThumbnails false 
    /EmbedAllFonts true 
    /EmbedOpenType false 
    /ParseICCProfilesInComments true 
    /EmbedJobOptions false 
    /DSCReportingLevel 0 
    /EmitDSCWarnings false 
    /EndPage -1 
    /ImageMemory 1048576 
    /LockDistillerParams true 
    /MaxSubsetPct 100 
    /Optimize false 
    /OPM 1 
    /ParseDSCComments true 
    /ParseDSCCommentsForDocInfo true 
    /PreserveCopyPage true 
    /PreserveDICMYKValues true 
    /PreserveEPSInfo true 
    /PreserveFlatness true 
    /PreserveHalftoneInfo false 
    /PreserveOPIComments false 
    /PreserveOverprintSettings false 
    /StartPage 1 
    /SubsetFonts false 
    /TransferFunctionInfo /Apply 
    /UCRandBGInfo /Remove 
    /UsePrologue false 
    /ColorSettingsFile (None) 
    /AlwaysEmbed [ true 
    ] 
    /NeverEmbed [ true 
    ] 
    /AntiAliasColorImages false 
    /CropColorImages true 
    /ColorImageMinResolution 600 
    /ColorImageMinResolutionPolicy /OK 
    /DownsampleColorImages false 
    /ColorImageDownsampleType /Average 
    /ColorImageResolution 600 
    /ColorImageDepth -1 
    /ColorImageMinDownsampleDepth 16 
    /ColorImageDownsampleThreshold 1.50000 
    /EncodeColorImages true 
    /ColorImageFilter /FlateEncode 
    /AutoFilterColorImages false 
    /ColorImageAutoFilterStrategy /JPEG 
    /ColorACSImageDict << 
    /QFactor 0.15 
    /HSamples [1 1 1 1] /VSamples [1 1 1 1] 
    >> 
    /ColorImageDict << 
    /QFactor 0.15 
    /HSamples [1 1 1 1] /VSamples [1 1 1 1] 
    >> 
    /JPEG2000ColorACSImageDict << 
    /TileWidth 256 
    /TileHeight 256 
    /Quality 30 
    >> 
    /JPEG2000ColorImageDict << 
    /TileWidth 256 
    /TileHeight 256 
    /Quality 30 
    >> 
    /AntiAliasGrayImages false 
    /CropGrayImages true 
    /GrayImageMinResolution 300 
    /GrayImageMinResolutionPolicy /OK 
    /DownsampleGrayImages false 
    /GrayImageDownsampleType /Average 
    /GrayImageResolution 600 
    /GrayImageDepth -1 
    /GrayImageMinDownsampleDepth 2 
    /GrayImageDownsampleThreshold 1.50000 
    /EncodeGrayImages true 
    /GrayImageFilter /FlateEncode 
    /AutoFilterGrayImages false 
    /GrayImageAutoFilterStrategy /JPEG 
    /GrayACSImageDict << 
    /QFactor 0.15 
    /HSamples [1 1 1 1] /VSamples [1 1 1 1] 
    >> 
    /GrayImageDict << 
    /QFactor 0.15 
    /HSamples [1 1 1 1] /VSamples [1 1 1 1] 
    >> 
    /JPEG2000GrayACSImageDict << 
    /TileWidth 256 
    /TileHeight 256 
    /Quality 30 
    >> 
    /JPEG2000GrayImageDict << 
    /TileWidth 256 
    /TileHeight 256 
    /Quality 30 
    >> 
    /AntiAliasMonoImages false 
    /CropMonoImages true 
    /MonoImageMinResolution 1200 
    /MonoImageMinResolutionPolicy /OK 
    /DownsampleMonoImages false 
    /MonoImageDownsampleType /Average 
    /MonoImageResolution 2400 
    /MonoImageDepth -1 
    /MonoImageDownsampleThreshold 1.50000 
    /EncodeMonoImages true 
    /MonoImageFilter /CCITTFaxEncode 
    /MonoImageDict << 
    /K -1 
    >> 
    /AllowPSXObjects false 
    /CheckCompliance [ 
    /PDFA1B:2005 
    ] 
    /PDFX1aCheck false 
    /PDFX3Check false 
    /PDFXCompliantPDFOnly true 
    /PDFXNoTrimBoxError false 
    /PDFXTrimBoxToMediaBoxOffset [ 
    0.00000 
    0.00000 
    0.00000 
    0.00000 
    ] 
    /PDFXSetBleedBoxToMediaBox true 
    /PDFXBleedBoxToTrimBoxOffset [ 
    0.00000 
    0.00000 
    0.00000 
    0.00000 
    ] 
    /PDFXOutputIntentProfile (Adobe RGB \0501998\051) 
    /PDFXOutputConditionIdentifier() 
    /PDFXOutputCondition() 
    /PDFXRegistryName() 
    /PDFXTrapped /False 

    /CreateJDFFile false 
>> setdistillerparams 
<< 
    /HWResolution [600 600] 
    /PageSize [697.080 1128.960] 
>> setpagedevice 

答えて

0

ポストスクリプトコンポーネント当たり16ビットを扱うことができない、それだけで1、2、4、8、12

PDF 12 BPC、わずか1、2、4、8をサポートしていないハンドル16.

したがって、中間形式としてPostScriptを使用すると、12以上のBPCを持つPDFファイルを取得する方法はありません。 PDFファイルその16 BPCを言っても、実際のデータは12( - > 12 BPCのPostScript - 16BPCのオリジナル> 16 BPCのPDF)に制限されます、さらにそれに今

、あなたがPDFを作成していると言います/ Aファイル、そのPDF/A-1。 PDF/A-1仕様を読んだら、PDF 1.4に限定されていることがわかります.PDFリファレンスマニュアルをチェックすると、16個のBPC画像がPDF 1.5で導入されています。

pdfwriteが12 BPCイメージを16 BPCイメージ(パディングあり)に変換することはできません.PDF/A-1ファイルを作成する場合は、指定できません。だから、あなたが望むことができないのではないかと心配しています。ツールを使用して、16個のBPC画像を含む法的PDF/A-1ファイルを作成することはできません。

ダウンサンプリングに関しては、カラーイメージのダウンサンプリングのデフォルトは「false」なので、有効にしないと(DownsampleColorImages = true)、pdfwriteデバイスはイメージをダウンサンプリングしません。

+0

この情報をお寄せいただきありがとうございます。 ImageMagickとGhostscriptを使用したPostScriptを経由するよりも、チャンネルごとの1つのTIFFからPDFへの単一の16ビットの変換方法を知っていますか? –

+0

PDFに対応した画像アプリケーションが必要です。 Adobe Photoshopは心に浮かぶが、私のコピーはむしろ高齢者であるため、私は確信することができない.....私は、これを行うことができるオープンソースのツールを知らないのだろうか、残念だ。 – KenS

関連する問題