打印巨大的SVG


16

我使用Google Chrome浏览器查看1178x5408 .svg文件。它包括许多小的“子图形”(对话框的屏幕快照,通过箭头连接。以为是“向导”),整个事物都是由graphviz创建的。

现在我要正确打印。对我来说,重要的是不要将整个内容缩小到一张纸,因为那样以后我将看不到任何小屏幕截图。

我最好的选择是什么?


1
如果指定正在运行的操作系统,则可能会得到更好的响应。
道格·哈里斯

@道格·哈里斯:不。这是一个普遍的问题,我在使用的所有操作系统下都有它。
akira 2010年

1
我的意思是,如果有首选的操作系统,那么您将获得特定于操作系统的工具建议。同样,在问题上加上OS标签将吸引将OS指定为收藏标签的用户。
道格·哈里斯

我不能在上面放足够的OS标签,我有兴趣在所有OS上解决问题:)
akira 2010年

1
晃,一个操作系统的解决方案将不会是另一个操作系统的解决方案。我们正在尝试解决您的特定问题,而不是提供生命,宇宙和一切的答案。只需添加“我正在Windows ME上使用Google Chrome”就足够了,并使我们能够提供更准确的解决方案。添加您还想知道其他操作系统的解决方案是可以的,但这仅是您特定问题的第二要务,应该这样对待。
music2myear

Answers:


10

我建议您使用Inkscape打开SVG文件并从那里打印。与SVG的Chrome相比,它在打印方面的选择要好得多。

Shift+ Ctrl+ D将为您提供文档选项:

文件选项


2
为了放大BloodPhilla,SVG格式(其中“ S”代表可扩展性)应该具有在<svg>标签中指定的“自然”宽度和高度,这无疑令人困惑。尽管Inkscape是一个很好的工具,但是如果您不顾一切,可以随时在自己喜欢的编辑器中打开.svg,并在开始标记中更改尺寸。
msw 2010年

1
@msw-那会破坏您的SVG图像,因为它会抛出很多错误。
BloodPhilia

好的答案,那也是我的方法之一,效果不是很好。inkscape仅打印第一页iirc。我会再次检查。
akira 2010年

不,不会,因为属性是指视口大小,而不是图像的尺寸。
stevenvh 2010年

3
Hiya,您能否详细说明在InkScape中做什么?我有一个很大的svg(width =“ 6137pt” height =“ 3092pt”),无论做什么我都不会做,要么在一页上很小,要么只打印一页完整尺寸!干杯。
IanVaughan 2013年

6

今天只需要解决这个问题。我使用了Inkscape的Print并将其打印为PDF文件(这是Linux上的标准功能;我不了解其他平台),然后使用pdfposter将其拆分为页面:

pdfposter -m a4 -p a3 infile.pdf outfile.pdf

翻译:使用A4页面制作A3尺寸的海报。


2

好的,我使用wkhtmltopdf从.svg中获得了一个合理,美观的.pdf:

% wkhtmltopdf.exe input.svg output.pdf

因此,我得到了一个SVG,宽度为“ 2447pt”,高度为“ 2716pt”。wkhtmltopdf给了我两页:左上角和左下角。SVG的另一半刚刚被剪掉。
Marius Gedminas 2013年

@MariusGedminas仅以毫米为单位传递--page-width和
--page

2

我通过以下步骤取得了一些成功:

  1. 在Inkscape中打开SVG。我正在为Windows运行版本0.48。
  2. 导出为PDF。我使用默认设置。
  3. Foxit Reader中打开PDF 。
  4. 打印; 在“打印处理”部分下的下拉菜单“缩放类型”中,选择选项“平铺大页面”。

按照以上所述,我的SVG似乎可以在13 x 10字母大小的页面上打印。

更新 –我在上述方面遇到了一些困难;有些“平铺”页面无法打印,但并非总是相同的页面,因此我怀疑Foxit Reader如何打印平铺页面存在细微问题。这是我刚刚遵循的可以正常工作的替代步骤:

  1. 在Inkscape中打开SVG。
  2. 导出为PDF。
  3. Foxit Reader中打开PDF 。
  4. 打印; 在“打印处理”部分下的下拉菜单“缩放类型”中,选择选项“平铺大页面”,然后在打印机(“名称”)中选择“ Foxit Reader PDF Printer”
  5. 输入新PDF的名称,该名称将为原始PDF中的每个“平铺”页面创建一个页面。
  6. 带有平铺页面的新PDF应在Foxit Reader中自动打开;该PDF可以正常打印,请勿跳过任何页面。

1

您可以尝试使用最新版本的GhostPDL(Ghostscript的姐妹应用程序;可从http://svn.ghostscript.com/ghostscript获得的源代码)将文件转换为PDF。GhostPDL可以以与Ghostscript处理PostScript相似的方式处理SVG(以及XPS或PCL)。因此,命令行如下:

gsvg.exe ^
    -dNOPAUSE ^
    -dBATCH ^
    -dSAFER ^
    -sOutputFile=my.pdf ^
    -sDEVICE=pdfwrite ^
    -g1178x5408 ^
    c:/path/to/my.svg

获得PDF后,您应该可以从Acrobat {,Reader}轻松打印它。至少现在,对于PDF,我们知道使用“ posterize”实用程序将一个大尺寸文件可靠地打印到多张(信纸,A4或A3)纸上的不同方法。

也许Inkscape也提供了这样的“海报打印”功能(可以直接打开并打印SVG),但是我不确定。


将引用的.png文件嵌入到.pdf中的任何技巧?
akira

@akira:对不起,我不明白你的问题。您在说哪个.png?
Kurt Pfeifle 2010年

“它包括许多小的“子图形”(对话框的屏幕快照,通过箭头连接..认为“向导”)。” ..我说的是.svg所引用的.png图像
akira 2010年

@akira:最初的问题中您没有声明图形是.png文件,并且没有嵌入.svg ...中-因此,当您将.svg打印为PDF时,看不到PDF页面中包含的.png文件?使用哪种参考?是基于Internet的,还是基于本地文件系统的?它使用绝对路径还是相对路径?
Kurt Pfeifle,2010年

0

由于大多数答案似乎都集中在命令行解决方案上,因此我想补充一下。实际上,它与BloodPhilla的答案(Inkscape)一起使用,因为要使用此工具,首先需要将SVG转换为PNG,但这是: PosteRazor。一旦有了PNG,就可以将其输入到该程序中,并通过4个简单的向导步骤,获得多页PDF,可以将其组装为“海报”。为了使事情按我想要的方式进行,我不得不在边距和重叠方面进行操作,此外,您还需要了解打印机在边缘打印方面的物理限制,但总的来说,这是一种有价值的小工具。


0

我遇到了同样的问题,因此选择了使用推荐的Inkscape,但将整个图形细分为逻辑独立的组合,并且很幸运,每个图形都在A3表格中装有合理可读的字体大小。

  1. 选择要放入例如A3的元素,然后将其复制到新文档中。在文件/属性中,选择A3,纵向或横向。
  2. 根据需要将元素组合在一起。
  3. 必须有一个使用鼠标逐步执行此操作的快捷方式,但我这样做是这样的:选择所有对象,“对象/变换”,“缩放”选项卡,“按比例缩放”并尝试一个值。如果一个失败,请按Ctrl + Z并尝试另一个。
  4. 文件/保存副本,输入:pdf。

对每个部分重复此操作,对每个部分重复一个生成的PDF。

使用某些PDF查看器打开并打印。

否则,我会选择Kenny Evitt解决方案,但您必须这样做。

无法理解为何BloodPhilia答案是目前票数最高的答案

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.