主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

print

打印图窗或保存为特定文件格式

说明

print(filename,formattype) 使用指定的文件格式将当前图窗保存到文件中,例如 print("BarPlot","-dpng")。如果该文件不包括扩展名,则 print 会附加适用的扩展名。

示例

print(filename,formattype,formatoptions) 指定可用于某些格式的其他选项。

print 将当前图窗输出到默认打印机。

示例

print(printer) 指定打印机。将打印机指定为字符向量或字符串,其中包含以 -P 开头的打印机名称,例如 "-Pmy printer"。该打印机必须已设置在您的系统上。

print(driver) 指定驱动。如果您要确保打印的输出为黑白色或彩色,则使用此选项。

print(printer,driver) 指定打印机和驱动。

print("-clipboard",clipboardformat) 使用 clipboardformat 指定的格式将当前图窗复制到剪贴板。您可以将复制的图窗粘贴到其他应用程序中。

示例

print(resize,___) 将图窗最大化以填满页面。将 resize 指定为 "-bestfit" 可保留图窗的纵横比,指定为 "-fillpage" 则忽略纵横比。这些选项仅当保存为页面格式(PDF 和 PS)或者发送给打印机进行打印时才有效。此选项可与上述语法中的任何输入参量一起使用。

示例

print(resolution,___) 使用指定的分辨率。将分辨率指定为字符串,其中包含以 "-r" 开头的整数值,例如 "-r200"。此选项可与上述语法中的任何输入参量一起使用。

示例

print(contenttype,___) 将要创建的内容的类型指定为 "-vector"(对于向量图)或 "-image"(对于图像)。

print(fig,___) 保存或打印 fig 指定的图窗或 Simulink® 模块图。

示例

cdata = print("-RGBImage"); 返回当前图窗的 RGB 图像数据。此选项与截屏的区别在于所有打印功能都可应用于输出。您还可以使用此语法指定 resolutioncontenttypefig 选项。但是,您不能指定 Simulink 模块图。

示例

示例

全部折叠

创建一个条形图并将其输出到系统默认打印机。如果您不指定要打印的图窗,则 print 使用当前图窗。

bar(1:10)
print

创建一个绘图并将其复制到系统剪贴板。

plot(1:10)
print("-clipboard","-dmeta")

您可以将复制的绘图粘贴到其他应用程序中。

创建一个绘图并将其另存为 PNG 图像文件。

bar(1:10)
print("BarPlot","-dpng")

print 将绘图另存为 BarPlot.png

创建一个绘图并将其另存为封装的 PostScript® 文件。

bar(1:10)
print("BarPlot","-depsc")

print 将绘图另存为 BarPlot.eps

将当前图窗另存为封装的 PostScript 文件并添加 TIFF 预览。

surf(peaks)
print("SurfacePlot","-depsc","-tiff")

通过将特定图窗的对象变量传递到 print 来保存该图窗。

fig = figure;
plot(1:10)
print(fig,"MySavedPlot","-dpng")

或者,使用其 Number 属性的值引用图窗,该值是显示在图窗窗口标题栏中的整数值。例如,保存图窗并在标题栏中显示 Figure 2。在整数值前面加上 -f

figure(2);
plot(1:10)
print("-f2","MySavedPlot","-dpng")

将曲面图保存到 PNG 文件中。将图窗的 PaperPositionMode 属性设置为 "auto" 以使其保存为屏幕上显示的大小。使用 "-r0" 可按屏幕分辨率保存它。

surf(peaks)
set(gcf,"PaperPositionMode","auto")
print("PeaksSurface","-dpng","-r0")

使用 "-fillpage" 选项保存填满页面的图窗。

bar([1 10 7 8 2 2 9 3 6])
print("FillPageFigure","-dpdf","-fillpage")

返回图窗的 RGB 图像数据。

surf(peaks)
cdata = print("-RGBImage");

使用 imshow 以完全分辨率显示图像数据。

imshow(cdata)

创建一个曲面图。返回图窗的 RGB 图像数据,并指定图像分辨率。然后,将图像数据转换为影片帧 F

surf(peaks)
cdata = print("-RGBImage","-r120");
F = im2frame(cdata);

输入参数

全部折叠

文件名,指定为包含所需文件名和路径的字符串或字符向量。

示例: "My Saved Chart"

示例: "Folder\My Saved Chart"

示例: "My Saved Chart"

文件名最大长度(包括路径)特定于操作系统和文件格式。通常,文件名不应超过 126 个字符,如果您包括路径,则不应超过 128 个字符。

数据类型: char | string

文件格式,指定为这些表中的选项之一。

图像文件

图像文件是以像素表示的图窗。生成的文件的大小取决于图窗、格式和系统分辨率。Web 浏览器和其他显示图形的应用程序广泛使用图像。但是,它们无法很好地支持透明度或缩放,而且您也无法在其他图形应用程序中修改其中的图形对象,例如线条和文本。

下表列出了支持的图像格式。

选项图像格式对应的文件扩展名
"-djpeg"JPEG 24 位.jpg
"-dpng"PNG 24 位.png
"-dtiff"TIFF 24 位(压缩).tif
"-dtiffn"TIFF 24 位(未压缩).tif
"-dmeta"增强型图元文件(仅限 Windows).emf

向量图形文件

向量图形文件存储用于重新绘制图窗的命令。这种格式类型适合缩放,但可能导致文件较大。在某些情况下,向量图可能包含杂散线条或其他视觉瑕疵。某些应用程序支持对向量图形格式进行大量编辑。但是,某些应用程序不支持调整图形大小以外的编辑。通常,应尽量在 MATLAB® 内对图窗进行所有必要的更改。

通常,print 生成的向量图形文件在调整大小时缩放良好。对于一些复杂图窗,文件可能包含嵌入的图像。这些图像无法良好缩放,可能会限制您可在其他应用程序中编辑这些图像的程度。为确保 print 创建所有向量图内容,请指定 "-vector" 输入参量。

如果希望输出具有透明度,则使用图元文件、PDF 或 SVG 格式创建向量图形文件。如果使用 EPS 格式,则仅图窗和坐标区背景支持透明度。图像文件不支持透明度,但会与屏幕显示接近一致,呈现透明的效果。

此表列出了支持的向量图形格式。

选项向量图形格式对应的文件扩展名
"-dpdf"整页可移植文档格式 (PDF) 颜色.pdf
"-deps"PostScript (EPS) 3 级黑白.eps
"-depsc"封装的 PostScript (EPS) 3 级彩色.eps
"-deps2"封装的 PostScript (EPS) 2 级黑白.eps
"-depsc2"封装的 PostScript (EPS) 2 级彩色.eps
"-dmeta"增强型图元文件(仅限 Windows®.emf
"-dsvg"SVG(可伸缩向量图).svg

Simulink 模块图不能保存为 EPS 文件。

注意

只有 PDF 格式使用 PaperPosition 属性的前两个元素。其他格式会忽略这些值。

某些文件格式支持的其他格式选项,指定为下列一个或多个值:

  • "-tiff" - 包括 TIFF 预览(仅限 EPS 文件)。

  • "-loose" - 使用宽松边界框(仅限 EPS 文件)。

  • "-cmyk" - 使用 CMYK 颜色而非 RGB 颜色(仅限 EPS 文件)。

  • 注意:-append 选项已删除,因为它仅适用于 .PS 文件

示例: print("myfile","-deps","-tiff","-loose") 使用松散边界框将当前图窗保存到文件 myfile.eps 中,并包括 TIFF 预览。

打印机名称,指定为字符向量或字符串,其中包含 -P 和打印机名称。

示例: "-Pmy local printer"

示例: "-Pmy local printer"

如果您不指定打印机,则 print 使用系统默认打印机。如果您要设置新的打印机或选择不同默认打印机,请使用操作系统打印机管理实用工具。如果看不到已设置好的打印机,请重新启动 MATLAB。

数据类型: char | string

打印机驱动,指定为 "-dwin""-dwinc""-dprn""-dprnc"。如果您没有指定驱动,则 print 将使用操作系统的默认驱动。

您所用的选项取决于您的系统,例如:

系统驱动输出
Windows"-dwin"黑白
"-dwinc"颜色
Linux®Mac"-dprn" 黑白
"-dprnc"颜色

复制到剪贴板的格式,指定为下列选项之一:

  • "-dmeta" - 增强型图元文件(仅限 Windows)

  • "-dbitmap" - 图像文件(Windows 和 macOS

  • "-dpdf" - PDF 文件(Windows 和 macOS

用来扩大图窗以填满页面的选项,指定为下列值之一:

  • "-fillpage" - 将图窗最大化以填满页面。在页面四周留出 0.25 英寸的边距。图窗的刻度线、布局和纵横比可能会更改。

  • "-bestfit" - 将图窗最大化以填满页面,但保留图窗的纵横比。图窗可能不会填满整个页面。此选项将保留 0.25 英寸的最小页边距。

这两个选项仅当将图窗发送给打印机进行打印或者保存为页面格式(如 PDF 和 PS)时才有效。它们对于 Simulink 模块图无效。

分辨率,指定为字符向量或字符串,其中包含 -r 和一个指示分辨率(每英寸点数)的整数值。例如,"-r300" 将输出分辨率设置为每英寸 300 dpi。请使用 "-r0" 指定屏幕分辨率。

通常,使用较高的分辨率值可产生较高质量的输出,但代价是使用的内存更多且输出的文件也较大。分辨率设置得越高,渲染图窗所花的时间越长。

在创建图像时以及在某些情况下创建向量图文件时,指定分辨率非常有用。某些向量图文件包含可能受分辨率影响的图像内容。如果内容全部为向量图(例如,如果指定 "-vector" 选项),则分辨率不会产生任何影响。

注意

Simulink 打印不支持分辨率选项。要获得 Simulink 模型的更高质量输出,请使用矢量格式,如 SVG 或 PDF。

数据类型: char | string

内容类型,指定为 "-image""-vector"

  • "-image" - 保存图像时使用此选项。

  • "-vector" - 在输出文件中创建所有向量图内容。指定此值以保存向量图文件。例如:

    print("-vector","-deps","myVectorFile")

注意

如果使用 "-vector" 选项保存文件,您可能会遇到以下一个或多个问题:

  • 渲染时间更长

  • 三维视图中图形对象的排列不正确

  • 杂散线条

  • 粗度小于一个像素的线条消失

如果未指定内容类型,则 print 会选择内容类型以生成所请求的输出格式。某些向量图格式(如 PDF 和 EPS)可能包含非向量(图像)内容。

图窗对象或 Simulink 模块图。您可以使用图窗的对象变量名称或使用 -f 前面的图窗编号引用该图窗。例如,-f2 引用 Number 属性值为 2 的图窗。指定 Simulink 模块图时,请在模型名称前面加上 -s。使用 "-s" 指定当前模型。

Simulink 模块图不能保存为 EPS 文件。

输出参量

全部折叠

以 n×m×3 数组形式返回的图像数据。图像数据数组的大小取决于图窗的 PaperPosition 属性和输出分辨率。

局限性

  • MATLAB Online™ 中,print 打印到 PDF 而不是打印机。但是,您可以通过指定 filename 将图窗保存为另一种类型的文件。

  • 当 MATLAB 处于无显示模式时,所有 Simulink 打印功能(包括打印到文件)都将关闭。

详细信息

全部折叠

提示

  • 您可以设置图窗的属性以控制某些打印和保存参数。此表列出了与打印和保存相关的图窗的属性。

    图窗属性描述
    PaperPosition打印或保存的图窗的大小。如果输出到打印机或全页输出格式,则此属性还确定页面上的图窗位置。
    PaperPositionMode指定是否使用 PaperPosition 属性或屏幕上图窗的大小来设置打印或保存的图窗的大小。
    PaperOrientation图窗在打印页上的方向。
    PaperType标准打印机纸张大小。
    PaperSize打印机纸张的自定义宽度和高度。
    PaperUnitsPaperSizePaperPosition 属性的单位。

  • 如果您使用的是 Linux 或 Mac 系统,并收到有关无效或无法识别的打印机的错误,请将图窗的内容另存为 PDF 文件。例如:

    print("MyPlot.pdf","-dpdf")
    然后使用外部 PDF 查看器打印该 PDF 文件。

替代功能

exportgraphics 函数保存下列任一项的内容:坐标区、图窗、可作为图窗子级的图、分块图布局或容器(如面板)。

当您需要执行以下操作时,exportgraphicsprint 函数更合适:

  • 保存在 App 或 MATLAB Online 中显示的图形

  • 最小化内容周围的空白

  • 用可嵌入的字体保存 PDF 片段

  • 保存多页 PDF (自 R2021b 起)

  • 保存图窗中内容的一部分

  • 控制背景颜色,而不必修改图窗的属性

copygraphics 函数提供与 exportgraphics 函数大致相同的功能,只是前者会将内容复制到系统剪贴板,而不是保存到文件中。使用此函数可将 MATLAB 的内容复制并粘贴到其他应用程序中。

版本历史记录

在 R2006a 之前推出

全部展开