kakwa / libvisio2svg Goto Github PK
View Code? Open in Web Editor NEWLibrary/Tools to convert Microsoft (MS) Visio documents (VSS and VSD) to SVG
License: GNU General Public License v2.0
Library/Tools to convert Microsoft (MS) Visio documents (VSS and VSD) to SVG
License: GNU General Public License v2.0
Hi,
Try this please:
https://www.cisco.com/c/dam/assets/prod/visio/visio/security-firepower.zip
Converted svg files are not visible in MS Word (in Firefox either). There is something visible in Inscape though, but not as intended, I am afraid. It is on Macos 11.7.8, where the conversion is made.
pt
While trying to convert following Stencil:
http://arcitura.com/system/application/visio/CCP_Visio_Stencil.zip
I experienced:
zangetsu@ares ~/Downloads/Stencils $ /usr/bin/vss2svg-conv --input=CCP_Visio_Stencil.vss --output=/home/zangetsu/Downloads/Stencils/big-data
Service Inventory:74: parser error : internal error: Huge input lookup
AAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAACIAAAAMAAAA/////w4AAAAUAAAAAAAAABAAAAAUAAAA"
^
Hi,
I can't fix an issue with the wmf API.
When I try to convert a vss file I got this message.
Looks like an issue with libwmf and map fonts.
vss2svg-conv -i X430.vss
ERROR: font.c (1334): wmf_ipa_font_map: failed to load *any* font!
I tried on Arch with this https://aur.archlinux.org/packages/libvisio2svg/
And on Debian with
apt update
apt install -y gcc g++ make cmake libpng-dev libc6-dev libfontconfig1-dev libfreetype6-dev git libxml2-dev libwmf-dev libtool automake libvisio-dev libboost1.55-dev libcppunit-dev wget unzip doxygen
git clone https://github.com/kakwa/libvisio2svg.git /root/libvisio2svg
git clone https://github.com/kakwa/libemf2svg.git /root/libemf2svg
git clone http://git.code.sf.net/p/libwpd/librevenge /root/librevenge
cd /root/libemf2svg
cmake . -DCMAKE_INSTALL_PREFIX=/usr/
make
make install
cd /root/librevenge
./autogen.sh
./configure
make
make install
cd /root/libvisio2svg
cmake . -DCMAKE_INSTALL_PREFIX=/usr/
make
make install
Have I miss something?
Many thanks
Hi, it is longer time when I worked with Visual Studio, but having 2015 and being interested to build Windows bundle of this tool with dependencies, is there any easy out-of-the box way?
Thanks for hints.
I'm trying to convert a vss file from Cisco, but console prints "Segmentation fault" right after execution. By thinning the stencils included in the vss down, I've been able to identify the exact ones vss2svg-conv seem unable to convert. I do not think this is related to how the stencils are named (I've tried renaming).
Attached are some sample vss files
I'm curious as to what makes these stencils "special", or "incompatible" with vss2svg-conv.
I noticed while converting a vss file that while the output files are indeed svg, the main content for some of the resulting files merely contain an image tag whose contents are still base64-encoded image/wmf data. One such example vss that exhibits this behavior is this one.
Running the vss2svg command resulted in no output to the terminal, so no errors were displayed or anything.
Hi,
thanks for this library, we use here Yed and this was the only option about how to get easily the Visio Stencils into Yed working.
I also created a 2 Gentoo ebuilds available at:
https://github.com/archenroot/gentoo-overlay/tree/master/media-libs
Are you aware of any libraries that convert SVG files to VSD or VSDX files for use in Visio?
I would like to create and Homebrew formula for libvisio2svg and submit it to homebrew-core. I've also created issue #19 for libemf2svg which would be a dependency for this. Once I built libemf2svg, the build on macOS Sierra was very straight-forward with the other dependencies already in Homebrew. Before I do this though, I want to make sure you, @kakwa, are OK with me submitting a formula for your project. Also, I have two questions:
Hello there,
I was unable to build successfully with commit 7da4205 in place. After reverting, the build went fine. Looks like there is an issue with the regex_replace
call this commit adds. Since it's just a safeguard, I'll sanitize my filenames before running as a workaround.
That said, figured you might want to know this issue is present. Is it a version issue perhaps? I'm assuming this builds fine on other (perhaps more updated) systems. I didn't dig into it further, but I wanted to drop this here as FYI for @kakwa and anyone else who might encounter this issue.
Otherwise, very useful little tool! Thanks!
Here's some system/version info:
Ubuntu 14.04 i686 (x32 virtual machine)
g++ 4.8.2
libstdc++-4.8-dev (4.8.2-19ubuntu1)
Hi,
When converting some VSS stencils for a project I'm working on, most of the stencils come out fine.
Sometimes, they don't come out fine, and are shifted down by about half of the height of the image.
A particular example I have found, from here: https://www.juniper.net/assets/visio-icons/juniper-mx-series-icons.zip
If you extract the zip, and then convert the file, the 10x10GE_MIC.svg
file will be incorrectly positioned, with the beginning of the top of the image halfway down the image "space". If I open it in ImageMagic, I can shift it to fit correctly into the viewport, but for the number of conversions I want to do, it's not practical to fix the SVG's individually.
I am entering the following to convert the vss file to svg's:
mkdir outputFolder
vss2svg-conv -i input.vss -o outputFolder
If you could find a fix, that would be super wonderful.
Thanks!
PS. Nice tool/library by the way, it is really helpful. I can't find anything else like it.
While trying to convert 2d and 3d stencils for virtual environments from:
https://www.veeam.com/vmware-esx-stencils-download.html#
I experienced:
zangetsu@ares ~/Downloads/Stencils $ /usr/bin/vss2svg-conv --input=2d_stencils_2010.vss --output=/home/zangetsu/Downloads/Stencils/virtual2d
error : unterminated entity reference Replication Server
When I try to build, I receive an error because open_memstream
is not supported on macOS.
Visio2Svg.cpp:194:13: error: use of undeclared identifier 'open_memstream' out_f = open_memstream(out, out_length);
Is there a potential workaround?
When i run the cmake command i get the following. I'm very new to building projects any and all help would be awesome! thank you
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/
-- Find Header Directory for libemf2svg: LIBEMF2SVG_INCLUDE_DIR-NOTFOUND
-- Find Dynamic Library for libemf2svg: LIBEMF2SVG_LIBRARIES-NOTFOUND
-- Find Header Directory for libwmf: LIBWMF_INCLUDE_DIR-NOTFOUND
-- Find Dynamic Library for libwmf: LIBWMF_LIBRARIES-NOTFOUND
-- Find Dynamic Library for libwmflite: LIBWMFLITE_LIBRARIES-NOTFOUND
-- Find Header Directory for librevenge: LIBREVENGE_INCLUDE_DIR-NOTFOUND
-- Find Header Directory for librevenge: LIBREVENGE_STREAM_INCLUDE_DIR-NOTFOUND
-- Find Dynamic Library for librevenge: LIBREVENGE_LIBRARIES-NOTFOUND
-- Find Dynamic Library for librevenge: LIBREVENGE_STREAM_LIBRARY-NOTFOUND
-- Find Header Directory for libvisio: LIBVISIO_INCLUDE_DIR-NOTFOUND
-- Find Dynamic Library for libvisio:
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Freetype (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindFreetype.cmake:151 (find_package_handle_standard_args)
CMakeLists.txt:12 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/<USER>/libvisio2svg/CMakeFiles/CMakeOutput.log".
Hello,
i use version 0.2.1. When i use this vss file, most of the outputfiles are empty. If i run in verbose mode there is no more output.
Feel free to close if off-topic, but figured it was related to the project and someone here knows more about this than me.
Hello,
I'm would like to use the command line tools, are they available anywhere as a distributable or do I have to build them from source?
Best Regards,
GD.
After converting, the svg names lose their original title
Does this project support building in Windows? Is there any plan to get this building in Windows? Thanks,
Hi, thank you very much for your effort into creating this tool,
Im getting the next error at compiling time: (Im sorry if Im asking at the wrong place, Im an Operations guy trying to compile this.)
x@x /tmp/vss/libvisio2svg » make
Scanning dependencies of target TitleGenerator
[ 12%] Building CXX object CMakeFiles/TitleGenerator.dir/src/lib/visio2svg/TitleGenerator.cpp.o
[ 25%] Linking CXX shared library libTitleGenerator.so
[ 25%] Built target TitleGenerator
Scanning dependencies of target Visio2Svg
[ 37%] Building CXX object CMakeFiles/Visio2Svg.dir/src/lib/visio2svg/Visio2Svg.cpp.o
[ 50%] Linking CXX shared library libVisio2Svg.so
[ 50%] Built target Visio2Svg
Scanning dependencies of target vsd2svg-conv
[ 62%] Building CXX object CMakeFiles/vsd2svg-conv.dir/src/conv/vsd2svg.cpp.o
[ 75%] Linking CXX executable vsd2svg-conv
/bin/ld: CMakeFiles/vsd2svg-conv.dir/src/conv/vsd2svg.cpp.o: undefined reference to symbol '_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/vsd2svg-conv.dir/build.make:103: recipe for target 'vsd2svg-conv' failed
make[2]: *** [vsd2svg-conv] Error 1
CMakeFiles/Makefile2:174: recipe for target 'CMakeFiles/vsd2svg-conv.dir/all' failed
make[1]: *** [CMakeFiles/vsd2svg-conv.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
I guess, I have some wrong version of the Libraries linked, but again I know very little about compiling, the version of the libraries used are:
libwmf-devel-0.2.8.4-46.fc22.x86_64
libvisio-tools-0.1.5-1.fc22.x86_64
librevenge-devel-0.0.4-1.fc22.x86_64
libvisio-devel-0.1.5-1.fc22.x86_64
librevenge-0.0.4-1.fc22.x86_64
libwmf-0.2.8.4-46.fc22.x86_64
libvisio-0.1.5-1.fc22.x86_64
libwmf-lite-0.2.8.4-46.fc22.x86_64
I compiled your libemf2svg from git today and I got this:
x@x /tmp/vss/libvisio2svg » ls -lha /opt/visio/libemf2svg/lib/
lrwxrwxrwx. 1 x x 15 Jul 25 16:53 libemf2svg.so -> libemf2svg.so.1
lrwxrwxrwx. 1 x x 19 Jul 25 16:53 libemf2svg.so.1 -> libemf2svg.so.1.0.1
-rwxr-xr-x. 1 x x 2.7M Jul 25 16:53 libemf2svg.so.1.0.1
Any help in regards of what could be wrong? Im setting up a VM to download and compile all the libraries stated at README.md to see if that helps but in the meantime i thought why not to also ask xD
Thank you very much.
Some symbols from the "Office Symbols" stencil are not converted correctly.
Steps to reproduce:
Download stencils from https://www.microsoft.com/en-gb/download/details.aspx?id=35772
Run
vss2svg-conv -i ./2012_Stencil_121412.vss -o ./out/
Most of the files are converted, but some files have blank images e.g.
Active_Directory_Federation_Services_Proxy.svg
Address_Book_Policies.svg
Address_Book_Store.svg
etc.
These display correctly in Inkscape using libvisio, so I don'ŧ think this is a libvisio issue.
Thanks.
Christopher Hoskin
Hi,
I'm trying to install libvisio2svg on my MAC M1 but I'm encountering a problem that I don't know how to solve.
brew install git
=> OK
brew install librevenge libwmf libvisio libemf2svg argp-standalone
=> OK
git clone https://github.com/kakwa/libvisio2svg
=> OK
cd libvisio2svg
=> OK
~/libvisio2svg $ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is AppleClang 15.0.0.15000040
-- The CXX compiler identification is AppleClang 15.0.0.15000040
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Find Header Directory for libemf2svg: /opt/homebrew/include
-- Find Dynamic Library for libemf2svg: /opt/homebrew/lib/libemf2svg.dylib
-- Find Header Directory for libwmf: /opt/homebrew/include
-- Find Dynamic Library for libwmf: /opt/homebrew/lib/libwmf.dylib
-- Find Dynamic Library for libwmflite: /opt/homebrew/lib/libwmflite.dylib
-- Find Header Directory for librevenge: /opt/homebrew/include/librevenge-0.0
-- Find Header Directory for librevenge: /opt/homebrew/include/librevenge-0.0
-- Find Dynamic Library for librevenge: /opt/homebrew/lib/librevenge-0.0.dylib
-- Find Dynamic Library for librevenge: /opt/homebrew/lib/librevenge-stream-0.0.dylib
-- Find Header Directory for libvisio: /opt/homebrew/include/libvisio-0.1
-- Find Dynamic Library for libvisio: /opt/homebrew/lib/libvisio-0.1.dylib
-- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/lib/libxml2.tbd (found version "2.9.13")
-- Found Freetype: /opt/homebrew/lib/libfreetype.dylib (found version "2.13.2")
-- Configuring done (1.2s)
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
TitleGenerator
Visio2Svg
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done (0.0s)
-- Build files have been written to: /Users/romain/libvisio2svg
=> NOK
~/libvisio2svg $ make
[ 12%] Building CXX object CMakeFiles/TitleGenerator.dir/src/lib/visio2svg/TitleGenerator.cpp.o
[ 25%] Linking CXX shared library libTitleGenerator.dylib
[ 25%] Built target TitleGenerator
[ 37%] Building CXX object CMakeFiles/Visio2Svg.dir/src/lib/visio2svg/Visio2Svg.cpp.o
In file included from /Users/romain/libvisio2svg/src/lib/visio2svg/Visio2Svg.cpp:3:
In file included from /Users/romain/libvisio2svg/inc/visio2svg/Visio2Svg.h:7:
/opt/homebrew/include/libwmf/ipa.h:72:15: warning: 'wmf_ipa_bmp_copy' has C-linkage specified, but returns incomplete type 'wmfBMP' (aka '_wmfBMP') which could be incompatible with C [-Wreturn-type-c-linkage]
extern wmfBMP wmf_ipa_bmp_copy (wmfAPI*,wmfBMP*,unsigned int,unsigned int);
^
/opt/homebrew/include/libwmf/ipa.h:89:15: warning: 'wmf_rgb_white' has C-linkage specified, but returns incomplete type 'wmfRGB' (aka '_wmfRGB') which could be incompatible with C [-Wreturn-type-c-linkage]
extern wmfRGB wmf_rgb_white (wmfAPI*);
^
/opt/homebrew/include/libwmf/ipa.h:90:15: warning: 'wmf_rgb_black' has C-linkage specified, but returns incomplete type 'wmfRGB' (aka '_wmfRGB') which could be incompatible with C [-Wreturn-type-c-linkage]
extern wmfRGB wmf_rgb_black (wmfAPI*);
^
/opt/homebrew/include/libwmf/ipa.h:91:15: warning: 'wmf_rgb_color' has C-linkage specified, but returns incomplete type 'wmfRGB' (aka '_wmfRGB') which could be incompatible with C [-Wreturn-type-c-linkage]
extern wmfRGB wmf_rgb_color (wmfAPI*,float,float,float);
^
4 warnings generated.
[ 50%] Linking CXX shared library libVisio2Svg.dylib
ld: library 'argp' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libVisio2Svg.0.5.5.dylib] Error 1
make[1]: *** [CMakeFiles/Visio2Svg.dir/all] Error 2
make: *** [all] Error 2
=> NOK ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.