Copy link to clipboard
Copied
Hi,
I was working on a few documents which had images picked up by Snip Tool without any file format, in essence, the images were snipped using Snipping Tool and pasted directly in InDesign without saving the image in JPG or PNG format through Snipping Tool, before hand.
InDesign considers such an image as a graphic object but since the image was pasted directly, it doesn't show the image in "Links" palette.
Such images lead to "Transparency" error while exporting document in PDF/X1:2001 compliant form.
Is there any way of correcting the image in InDesign itself, so that the Transparency error goes away? Any kind of help would be highly appreciated.
Thanks & Regards,
Aman Mittal
Copy link to clipboard
Copied
Basically, embedding pasted image (not placed) in Indesign!
Copy link to clipboard
Copied
What kind of error are you getting. Those are just RGB embedded images and shouldn’t be an issue, though PDF/X-1a is a horribly archaic file format.
Copy link to clipboard
Copied
Hi Bob,
Thank you for replying to the thread. I agree that PDF/X1: 2001 format is archaic however, it is one of the mandatory requirements from the printer's side. When I export the document to such a format, the pasted images come in a blue highlight instead of their original form.
The dark blue colour covers the entire image and acts as a background because of the transparency error with PDF/X1:2001 compliance (The content of the image was edited).
Hence, I was wondering if there was a way to find and embed the pasted images from InDesign within InDesign itself? Or any other way of solving this transparency problem?
Thank you for helping out!
Regards,
Aman
Copy link to clipboard
Copied
What's the transparency blend space set to?
Copy link to clipboard
Copied
Transparency Blend: Normal (Opacity: 100% for Object, Stroke, Fill with no effects) and Transparency Flattener Preset: High Resolution (at the time of export).
Copy link to clipboard
Copied
Edit > Transparency Blend Space.
What is it set to?
Copy link to clipboard
Copied
Hi Bob,
Edit> Transparency Blend Space> Document CMYK
Regards,
Aman
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Hi Stephen,
Thank you for replying to the thread and coming up with such an amazing solution. I had tried this script earlier and it works wonders, given it was developed by Mr. Kahrel (a known name in InDesign community). Only issue I have been facing with this is that it removes linking for embedded images as well. Also, when I relink the pasted images, it changes the size of the pasted images. It adds a bit of blank frame at the end of pasted images. Hence, I have not been able to figure out the issue with this. Other than that, the script is amazing.
Thank you for taking out the time and putting up with such a great solution. And, Mr. Kahrel has been amazing, as always.
Thanks & Regards,
Aman
Copy link to clipboard
Copied
Hence, it would be great if we could figure out something which just relinks the pasted images without changing the frame and content size.
Copy link to clipboard
Copied
When you have pasted images, no information can be stored in InDesign about the size and position of the contents. Therefore, there is no way to "relink" the pasted images.
That's one of many reasons why you should always PLACE (File > Place) images instead of pasting. LINKED placed images store that information so when an image is replaced, it can come in at the same scaling and position.
Copy link to clipboard
Copied
Here is a copy of the first script from 2010 if that helps:
//DESCRIPTION: "Unpaste" pasted images
// Peter Kahrel -- www.kahrel.plus.com
// Pasted images (i.e. images without a link in the Links panel)
// are written on disk in a subdirectory of the current document's folder.
// The subdir is called "/images".
// Images can be linked or deleted
#target indesign;
try {if (app.documents.length > 0)
unembed_images ()}
catch (e) {alert (e.message + "\r(line " + e.line + ")")};
function unembed_images ()
{
var doc = app.documents[0];
var output_folder = subdir (doc) + "/" + doc.name + "_unembedded_";
var export_data = get_format ();
var g = doc.allGraphics;
var image_file;
var n = 0;
for (var i = g.length-1; i > -1; i--)
{
if (g.itemLink == null)
{
image_file = File (output_folder + String (n++) + export_data.extension);
if (export_data.extension == ".EPS")
export_eps (g, image_file);
else
g.exportFile (export_data.enum_type, image_file);
if (export_data.create_link)
g.parent.place (image_file);
else
g.parent.remove ();
}
}
}
function get_format ()
{
var export_enums = [ExportFormat.epsType, ExportFormat.jpg, ExportFormat.pngFormat];
var w = new Window ("dialog", "Save pasted images");
w.alignChildren = "left";
var g1 = w.add ("panel");
g1.orientation = "row";
g1.add ("statictext", undefined, "Export format: ");
format_ = g1.add ("dropdownlist", [0,0,160,22], ["EPS", "JPEG", "PNG"]);
var link = w.add ("checkbox", undefined, " Create links\u00A0");
var buttons = w.add ("group");
buttons.alignment = "right"
buttons.add ("button", undefined, "OK", {name: "ok"});
buttons.add ("button", undefined, "Cancel", {name: "cancel"});
var previous = read_history ("/unembed_images.txt");
format_.selection = previous.format;
if (previous.create_links)
link.value = true;
if (w.show () == 1)
{
w.close ();
write_history ("/unembed_images.txt", "Format="+format_.selection.index+"\rLink="+link.value);
return {extension: "." + format_.selection.text,
enum_type: export_enums [format_.selection.index],
create_link: link.value};
}
else
{
w.close ();
exit ();
}
}
function subdir (doc)
{
try {var doc_path = String (doc.filePath)}
catch (e)
{
alert (e.message);
exit ()
}
var temp = doc_path + "/images";
if (!Folder (temp).exists)
Folder (temp).create ();
return temp
}
function export_eps (im, f)
{
var gb = im.parent.geometricBounds;
var d = app.documents.add (false);
// Separate try-catch-finally here (apart from the global one)
// to make sure that we don't end up with documents without a layout window
try
{
d.documentPreferences.pageHeight = gb[2] - gb[0];
d.documentPreferences.pageWidth = gb[3] - gb[1];
var dupl = im.parent.duplicate (d.pages[0]);
dupl.move ([0, 0]);
dupl.exportFile (ExportFormat.epsType, f);
}
catch (_) {}
finally {d.close (SaveOptions.no)}
}
function read_history (fstring)
{
var f = File (app.scriptPreferences.scriptsFolder + fstring);
if (f.exists)
{
f.open ("r");
var temp = f.read ();
f.close ();
return {format: temp.match (/Format=(\d)/)[1],
create_links: eval (temp.match (/Link=(.*)/)[1]) }
}
else
return {format: 1,
create_links: true };
return temp
}
function write_history (fstring, num)
{
var f = File (app.scriptPreferences.scriptsFolder + fstring);
f.open ("w");
f.write (String (num));
f.close ();
}
Copy link to clipboard
Copied
Hi Stephen,
Thank you for sharing the first version of the script. It just relinks the pasted images and leaves the already embedded, intact. However, it is still giving me trouble with Fitting Options for the Pasted Images. It results in "None" under the Fitting Options and leads to negative "Bottom" in Crop Amount.
Is it possible to tweak the newest version of the script,
Dump/unembed (and link) pasted images | Peter Kahrel
In such a way that it doesn't lead to any new Fitting/Transformation for any of the images? If it could just link the pasted images leaving the frame and content intact, It could do wonders for me.
I have no idea about script editing, hence, I would like to know if there is such a possibility or not?
Thank you for putting in so much effort and time.
Regards,
Aman
Copy link to clipboard
Copied
Not sure on the script... You could export to PDF, then open the PDF into Photoshop and select the second option to open/extract the images from the PDF (not the first option to rasterize the entire PDF), manually save the images and then place them into InDesign.
Copy link to clipboard
Copied
Oh! Okay. Thank you! I will try this, as well.
Copy link to clipboard
Copied
Yet another option to consider would be to create a PDF/X4 or another PDF preset similar to the required end result that does not error, then use Acrobat Pro to "recondition" the PDF to meet the required PDF/X1 compliance (which is obviously best performed when creating the original PDF, if you were not having an error).