web-dev-qa-db-ja.com

Evolus PencilモックアップをSVGにエクスポートするにはどうすればよいですか?

Evolus Pencil は、強力なFOSS GUIモックアップツールです。残念ながら、そのままではSVGエクスポートをサポートしていません。 PencilモックアップをSVGに変換する方法はありますか?

3
Glutanimate

概要

コマンドラインのxslt-processorであるxsltprocを使用してこれを行う方法があります。使用するスタイルシートは Robert Kosten によって開発され、 evolus Pencilプロジェクトページの問題トラッカー でリリースされました。

バグレポートから引用:

UIを介してこれを実現したいのですが、それまでは基本的に http://www.evolus.vn/Namespace/Pencil 名前空間からすべてを削除するだけの小さなXSLTシートを作成しました(ほとんどの場合、エクスポートでは管理データは不要です)。結果のファイルはFirefox(SVGのforeignObjectタグが十分にサポートされている場合)で正常に動作するはずですが、batik(Apache fopなどで使用)などのライブラリにはXHTML、XUL、またはXLinkの問題があります。私は出会う要素の少なくともいくつかをサポートするためにシートを拡張するつもりですが、私は守れない約束をしません;-)

添付ファイルは、ツールのコレクションの一部としても見つけることができます(DocBookの生成に使用し、プロジェクトのPDF): https://github.com/Robert- Kosten/de.robertkosten.tools/blob/master/xsl/ep2svg.xsl

現在はGPLv3の下にありますが、GPLv2の下でリリースしたいと思っているので、だれかがソフトウェアにそれを含めたい場合に「後のバージョン」を呼び出す必要はありません;-)


インストール

上記のリンクからスタイルシートをダウンロードするか、次の文章をコピーしてep2svg.xslという名前のファイルに貼り付けます。

<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of de.robertkosten.tools. de.robertkosten.tools is
free software: you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
de.robertkosten.tools is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details. You should have received a copy of the GNU
General Public License along with de.robertkosten.tools. If not, see
<http://www.gnu.org/licenses/>.

I suggest calling this with:
xsltproc -o dir/ ep2svg.xsl input.ep

@author Robert Kosten
-->
<xsl:stylesheet version="1.0" extension-element-prefixes="exsl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2000/svg" xmlns:p="http://www.evolus.vn/Namespace/Pencil" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:exsl="http://exslt.org/common">
    <xsl:output omit-xml-declaration="yes" />
    <xsl:strip-space elements="p:Document p:Pages p:Page"/>

    <xi:include href="includes/tools.xsl" />

    <xsl:template match="/p:Document">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="p:Pages">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="p:Page">
        <exsl:document href="{p:Properties/p:Property[@name='name']}.svg" method="xml" version="1.0" encoding="utf-8" doctype-public="-//W3C//DTD SVG 1.1//EN" doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" media-type="image/svg+xml">
            <svg version="1.1">
                <xsl:apply-templates />
            </svg>
        </exsl:document>
    </xsl:template>

    <xsl:template match="p:Content">
        <xsl:apply-templates />
    </xsl:template>

    <xsl:template match="*[namespace-uri() != 'http://www.evolus.vn/Namespace/Pencil']">
        <xsl:copy>
            <xsl:copy-of select="@*[namespace-uri() != 'http://www.evolus.vn/Namespace/Pencil']" />
            <xsl:apply-templates />
        </xsl:copy>
    </xsl:template>

    <xsl:template match="*">
        <!-- Void -->
    </xsl:template>

</xsl:stylesheet>

次のスクリプトをep2svg.shとして保存します。

#!/bin/bash

# converts evol.us Pencil mockup files to svg
# (c) 2013 Glutanimate (http://askubuntu.com/users/81372/)
# released under GNU GPL v2
# XSL source: (c) 2013 Robert Kosten (https://code.google.com/p/evoluspencil/issues/detail?id=260#c1)

XSLFILE="./ep2svg.xsl"
WORKINGDIR=$(dirname "$1")


xsltproc -o "$WORKINGDIR"/ "$XSLFILE" "$@"

XSLFILEが正しい場所を指すようにしてください。

使用法:

ep2svg.sh <mockup1.ep> <mockup2.ep> ...

3
Glutanimate

Javaおよびmaven開発でモックアップを使用している場合、mavenプラグイン pencil2svg-maven-plugin を使用できます。

1
swift