我有一個Illustrator文件與鏈接的圖像。我實際上想要嵌入圖像。我首先必須知道他們是哪些文件。我如何發現?我使用的是Illustrator 9.如何在Adobe Illustrator 9中找到鏈接圖像的路徑?
回答
我曾經使用過的第一個Illustrator版本是10,但是,版本9中是否有鏈接托盤?嘗試窗口菜單並尋找「鏈接」。它有幾個選項在那裏搜索你想要的圖像,重新鏈接,打開原件等。
很高興知道這張海報已設置,但是這並不回答這個問題。在CS3中,如果雙擊鏈接調色板中的圖像,ti會爲鏈接元素顯示鏈接信息,該鏈接信息顯示文件的路徑(只要它不長於窗口)。
也許舊版本也允許你這樣做。
不幸的是,如果你正在處理一個缺少的鏈接元素(在打開文件時忽略了這個元素),這個字段是空白的。與InDesign相比,Illustrator吸收文件打包和鏈接。如果它可以打包InDesign這樣的文件,並將相對引用存儲到外部資源,那將會很好。
我使用以下perl腳本來跟蹤Illustrator文件中的鏈接圖像。這對於斷開的鏈接特別有用,因爲它仍然會通過在Illustrator文件內窺視來告訴鏈接圖像的完整路徑。它明顯比任何人需要的都多,但也許會有用。該幫助應解釋如何使用它。在我的機器上,我稱它爲ailinkedfiles.pl,並且已將它放入我的PATH中的〜/ bin中。
#!/usr/bin/perl
# program to find the linked files inside an Adobe Illustrator file
require 5.004;
use File::Basename; # to extract a filename from a full path
use File::Find; # to build a list of files
use File::Spec; # Platform independent way to build paths
use vars qw/ %opt /; # for command line options - see init()
use strict;
init(); # process command line options
# Autoflush stdout
$|=1;
if ($opt{p}){
die "Did you really mean to call your script ".$opt{p}."!\n" if($opt{p} =~ /\.ai$/i);
print "Generating script file $opt{p}\n" if $opt{v};
open SCRIPT, "> $opt{p}";
}
die "No input specified; use ".basename($0)." -h for help\n" if(@ARGV==0);
my $arg; foreach $arg (@ARGV){
if(-d $arg){
# nb it is necesary to convert the directory specification
# to an absolute path to ensure that the open in &findLinkedFiles
# works properly during multi directory traversal
my $InDir=File::Spec->rel2abs($arg);
find(\&handleFind,$InDir);
} elsif (-f $arg) {
my $InDir=File::Spec->rel2abs(dirname($ARGV[0]));
&findLinkedFiles(File::Spec->rel2abs($ARGV[0]),$InDir) ;
# &findLinkedFiles(File::Spec->rel2abs($arg)) ;
}
}
sub init()
# copied from: http://www.cs.mcgill.ca/~abatko/computers/programming/perl/howto/getopts
{
use Getopt::Std; # to handle command line options
my $opt_string = 'hvlzdsftnp:ux:';
getopts("$opt_string", \%opt) or usage();
usage() if $opt{h};
}
# Print out usage information
sub usage()
{
print STDERR << "EOF";
Usage: $0 [OPTIONS] <AIFILE/DIR>
Parse an Adobe Illustrator file or (recursively) parse a directory of ai files
and print a list of the linked files to STDOUT. These could be piped to xargs eg:
$0 aifile.ai | xargs -I {} ln -vs
-h print this help
-v verbose ouput
-s print file names with short path
-d print current directory on each line
-n no-print (suppresses printing of linked file names)
-x <regex> exclude files whose full path matches regex
-l symlink in current directory if file linked from Illustrator file exists somewhere else
-f force symlink to overwrite existing target file
-t test run
-p <file> write commands to a script file
-u status of src and target
- doesn't exist
F plain file
L symbolic link
E exists (unknown file type)
Note that src is the link contained in the Illustrator file and
target is a file of the same name in the same directory as the Illustrator file
If the status is -- you will have problems in Illustrator
If the status is -F Illustrator will substitute the local file for the unavailable linked file
If the status is F- you can run this script with the -s option to make a symlink
If the status is FF then Illustrator will be happy
EOF
exit();
}
sub mysymlink{
my ($src,$targetdir)[email protected]_;
my $target=File::Spec->catdir($targetdir,basename($src));
if(File::Spec->rel2abs($src) eq File::Spec->rel2abs($target)){
print "src and target identical for src=$src\n" if $opt{v};
return;
}
if(-e $src){
my $opts=$opt{f}?"-fsv":"-sv";
my $cmd="ln $opts \"$src\" \"$target\"";
myexec("$cmd");
} else {
print "No link made: $src doesn't exist\n" if $opt{v};
}
}
sub myexec {
my ($cmd) = @_;
if ($opt{t}){
print STDERR "test: $cmd\n";
} elsif ($opt{p}){
print SCRIPT $cmd,"\n";
} else {
# should get to see output with system
print STDERR "run: $cmd\n" if $opt{v};
return system $cmd;
}
}
sub mystatus{
my ($src,$targetdir)[email protected]_;
my $target=File::Spec->catdir($targetdir,basename($src));
my ($ss,$ts)=("-","-");
$ss = "E" if(-e $src);
$ss = "F" if(-f $src);
$ss = "L" if(-l $src);
$ts = "E" if(-e $target);
$ts = "F" if(-f $target);
$ts = "L" if(-l $target);
return ($ss.$ts);
}
# This extracts the file info from the header
sub handleFind{
# get the file name
my $FullFoundFile = $File::Find::name;
#print $FullFoundFile,"\n";
return if ($opt{x} and $FullFoundFile =~ /$opt{x}/i);
# parse if it ends in ai
findLinkedFiles($FullFoundFile, $File::Find::dir) if ($FullFoundFile =~ /\.ai$/i);
}
# This does the actual parsing of the Illustrator Files
sub findLinkedFiles{
my ($InFile,$InDir)[email protected]_;
# protect with escaped quotes for shell if non-empty
my $ProtectedInDir=$InDir?"\"$InDir\"":$InDir;
die "Can't open $InFile \: $!\n" unless open(AIFILE, "<$InFile");
binmode(AIFILE);
# %%DocumentFiles is the starting point
$/="%%";
my @lines = readline<AIFILE>;
if(@lines==0){
print STDERR "can't read header of $InFile\n" if $opt{v} ; # the header length
return;
}
print "################\n";
if ($opt{s}){
print "# FILE = ",basename($InFile),"\n";
} else {
print "# FILE = ",$InFile,"\n";
}
for my $i (0 .. $#lines){
# if ($lines[$i]=~/^DocumentFiles\:(.*?)\W+%%/){
# not sure why we need two % signs here
if ($lines[$i]=~/^DocumentFiles\:(.*?)\W+%/){
print mystatus($1,$InDir)," " if $opt{u} and not $opt{n};
print "\"$1\" ",$opt{d}?$ProtectedInDir:"","\n" unless $opt{n};
$i++;
mysymlink($1,$InDir) if $opt{l};
while($lines[$i]=~/^[+](.*?)\W\%.*$/){
# print "\"$1\" $InDir\n"; $i++;
print mystatus($1,$InDir)," " if $opt{u} and not $opt{n};
print "\"$1\" ",$opt{d}?$ProtectedInDir:"","\n"unless $opt{n};
$i++;
mysymlink($1,$InDir) if $opt{l};
}
}
}
}
使用Illustrator的更新版本你也許可以更換鏈接使用該腳本破碎圖片:
http://techblog.willshouse.com/2011/01/16/update-illustrator-linked-files-script/
我只是在Illustrator CS4這個問題;我的很多東西最近都被歸檔了。
單擊美工板中的「缺失」圖像。
在左上角您將看到顯示的文件名稱。
在後續的下拉菜單中點擊「編輯原創」。 Illustrator將嘗試查找該文件,並閃爍一個警告窗口「窗口無法找到文件」等給你完整的文件位置。
由於編輯原件在鏈接窗口中顯示爲灰色,因此這很有用。對於像我這樣擁有大量文件庫的人來說非常有用。
- 1. 在Android中創建一個像Adobe illustrator的複合路徑
- 2. SVG在Adobe Illustrator
- 3. 在Umbraco中找不到圖像路徑?
- 4. 縮放畫布是由進口到混合從Adobe Illustrator路徑
- 5. 在掩碼邊緣創建路徑交點。 Adobe illustrator
- 6. 請在SVG文本鏈接通過Adobe Illustrator中
- 7. 如何刪除圖像屬性,例如Adobe Illustrator已嵌入PDF文件的本地路徑?
- 8. 作出Adobe Illustrator中
- 9. 如何從php中的img目錄找到圖像的路徑?
- 10. 在Adobe Illustrator中嵌入svg圖標作爲外部文件鏈接
- 11. 如何鏈接到循環內部的嵌套路徑路徑?
- 12. 如何讓minGW找到正確編譯和鏈接的路徑
- 13. 如何找到extern變量的鏈接路徑
- 14. 通過在Adobe Illustrator中切片創建透明背景圖像
- 15. 如何在Adobe adobe capivate中設置圖像和文本滾動9
- 16. 如何在Roda中生成鏈接/路徑/路徑?
- 17. 我無法在illustrator中導出路徑
- 18. 如何將Adobe Illustrator路徑轉換爲Google Maps多邊形? (v3 API)
- 19. 鏈接路徑
- 20. 如何在Unix系統中找到所有符號鏈接的絕對路徑
- 21. Flex Skinning和Adobe Illustrator
- 22. 通過JXA(JavaScript for Automation)在Adobe Illustrator中創建一個新路徑項目
- 23. 鏈接到Richtextbox中的文件路徑
- 24. Laravel將圖像鏈接到基本路徑
- 25. Selenium中的圖像/鏈接相對路徑錯誤
- 26. 打印Adobe Illustrator文檔
- 27. 找不到路徑中的圖像路線
- 28. Illustrator路徑聯合問題
- 29. 將Adobe Illustrator文件添加到HTML中
- 30. 如何查看和使用Adobe Illustrator中的Font Awesome圖標?
啊!在鏈接調色板中有文件名,但不是它的路徑。選項: - 更換鏈接 - 後藤鏈接(在doc到影像,而不是文件系統) - 更新鏈接(刷新) - 編輯原始(嘗試的東西,失敗) 無差了一點,但我可以使用搜索來查找文件。謝謝! – dfrankow 2009-02-08 15:45:31