Ghostscript Tiff Conversion from PDF

I am using ghostscript to convert pdf to tiff. I am using v9.04.  I am converting to tiff using -sDevice=tiffg4 with 200 resolution.

But sometimes our pdf has grey background. And the image output is not dithered right. Is there a way to improve grey background.

FYI... tiffg4 produces only black and white image.

Other option is using different output device such as tiffgray. But this adds some photometric tiff tag which I don't want. Is there a way to remove this tag in ghostscript.

See the sample document which is word but I have pdf for my test.
SAMPLE-DOCUMENT.docx
dguy101Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

CEHJCommented:
which is word

Why? Why post a proprietary format when your actual format is an open one??
0
CEHJCommented:
Try -sDEVICE=tiff24nc
0
dguy101Author Commented:
I cannot use tiff24nc, size gets bigger and also we only want greyscale.


Also can I remove tiff tags in ghoscript.
0
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

CEHJCommented:
Use imagemagick?
0
dguy101Author Commented:
How hard is to change to Imagemagick from ghostscript. ? I am using ghostscript in Java using ghost4j.
We have to use either tiffg4 or tiffscaed with g4compression and ability to remove tiff tags such as photometric.
0
CEHJCommented:
Try -sDevice=tiffgray
0
dguy101Author Commented:
I have tried all greyscale but it makes the tiff images inverted since it sets photometricinterpreation tag to blackiszero, which in some of the viewers will make image look inverted like a negative.
0
CEHJCommented:
tiffgray attached
tiffgray.tif
0
dguy101Author Commented:
Problem is with the attached image that it adds following Tiff Tag - PhotometricInterpretation=      BlackIsZero.

This causes Image to inverted in our down stream application viewer called Daeja Viewer. We cannot change that.
0
dguy101Author Commented:
So I need to remove that Tag in Ghostscript if possible or different tiff device which is grayscale that does not add this tag.
0
CEHJCommented:
Try this afterwards:

tiffset -s 262 0 image.tif

Open in new window

0
dguy101Author Commented:
where do i run this command.
this is what i have in java
 Ghostscript gs = Ghostscript.getInstance();

            if (gsArgs == null) {

                gsArgs = new ArrayList<String>(15);

                gsArgs.add("-dQUIET");
                gsArgs.add("-dNOPAUSE");
                gsArgs.add("-dBATCH");
                gsArgs.add("-dSAFER");
                if (GSThreadCount > 1) gsArgs.add("-dNumRenderingThreads=" + GSThreadCount);
                gsArgs.add("-dPDFFitPage");
                gsArgs.add("-sPAPERSIZE=" + input.getImportPaperSize());
                gsArgs.add("-sDEVICE=tiffscaled");


              //  gsArgs.add("-sDEVICE=tiffscaled");
                gsArgs.add("-sCompression=g3");

                gsArgs.add("-sOutputFile=" + fileNamePrefix + "%06d" + System.currentTimeMillis() + ".tif");
             //   gsArgs.add("-c \"<< /Install { { 0.85 gt { 1 } { 0 } ifelse } settransfer } >> setpagedevice\"");
                gsArgs.add("-r" + 150);
          //     gsArgs.add("-c '100 100 {dup mul exch dup mul add 2 div 1 exch sub} setscreen currenthalftone /Default exch /Halftone defineresource pop'");

            }
            gsArgs.add("-f");


            gsArgs.add(file.getAbsolutePath());

            try {

                synchronized (gs) {

                    gs.initialize(gsArgs.toArray(new String[gsArgs.size()]));
                    gs.exit();
                }

Open in new window

0
CEHJCommented:
That's another program. I think you could do it with JAI too - try googling it (JAI BalckIsZero)
0
dguy101Author Commented:
I know I can use JAI to remove it, but wanted to see if anything is out there using ghostscript so  I don't have to recreate image again using JAI since we upload like 1000 of images
0
CEHJCommented:
Not that i can find
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dguy101Author Commented:
Good to have this done in ghostscript or replace ghostscript with some other framework
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Document Imaging

From novice to tech pro — start learning today.