Конвертировать EPS в JPG при загрузке с использованием C # и ImageMagick - PullRequest
1 голос
/ 17 мая 2011

Я только что столкнулся со сценарием, в котором мне нужно преобразовать EPS-файлы в JPG-файл при загрузке.

Что я хотел бы сделать, это при загрузке EPS-файлов;Я хотел бы сохранить исходный файл EPS и сохранить его в фоновом режиме в папке, а также преобразовать изображение EPS в JPG и сохранить его в другой папке.

Этого можно достичь с помощью C #?Если так, может кто-то, пожалуйста, направьте меня в правильном направлении?

Я использовал ImageMagick и GhostScript, и из командной строки я могу конвертировать EPS в JPG, но не уверен, как мне его встроить в приложение C # и конвертироватьEPS в JPG при загрузке.

Любая помощь или любая демонстрация, делающая то же самое, будет отличной помощью.

Спасибо, Zulfi

Ответы [ 3 ]

1 голос
/ 07 ноября 2014

После некоторого изучения доступных решений я наткнулся на эту утилиту , которая, кажется, работает хорошо.Это 200 долларов / сервер.Утилита VeryDoc не использует сторонние библиотеки (в отличие от других решений) и предлагает преобразование между многими форматами.Доступные параметры командной строки:

C:\>ps2img.exe
-------------------------------------------------------
Description:
Convert PS (Postscript) and EPS to TIF, TIFF, JPG, GIF, PNG, BMP, WMF, EMF, PCX, TGA, etc. formats
Usage: ps2img [options] <-i PS File> [-o Output]
-i [input PS]   : Input PS filename
-o [output file]: Output TIFF filename
-g              : Convert to 8-bit grayscale image file, this option is only available while bitcount equal 8 (-b 8)
-m              : Set output to multi-page TIFF file, the default is output to single page TIFF files
-r [resolution] : Set resolution in generated image files
-r 300          : Set horizontal and vertical resolution to 300 DPI
-r 200x300      : Set horizontal and vertical resolution to 200x300 DPI
-r 204x98       : Set horizontal and vertical resolution to 204x98 DPI
-f [first Page] : First page to convert
-l [last Page]  : Last page to convert
-c [compress]   : Set compression method in generated image files (for tif only)
    -c none     : Create TIFF file without compression
    -c lzw      : Compress TIFF using LZW arithmetic
    -c jpeg     : Compress TIFF using JPEG arithmetic
    -c packbits : Compress TIFF using packbits arithmetic
    -c g3       : Compress TIFF using CCITT G3 arithmetic
    -c g4       : Compress TIFF using CCITT G4 arithmetic
    -c ClassF   : Compress TIFF into Fax compatible ClassF 204x98 format
    -c ClassF196: Compress TIFF into Fax compatible ClassF 204x196 format
-q [quality]    : Set quality in created image files (for jpeg image only)
-b [bit count]  : Set bit count in generated image files
-?              : Help
-------------------------------------------------------
Example:
    ps2img -i C:\input.ps -o C:\output.tif
    ps2img -i C:\input.eps -o C:\output.tif
    ps2img -m -i C:\input.ps -o C:\output.tif
    ps2img -c lzw -i C:\input.ps -o C:\output.tif
    ps2img -q 80 -i C:\input.ps -o C:\output.jpg
    ps2img -b 4 -i C:\input.ps -o C:\output.tif
    ps2img -i C:\input.ps -o C:\output.tif -b 1 -c ClassF -r 204x98 -m
    ps2img -f 1 -l 9 C:\input.ps -o C:\output.jpg
    ps2img -i C:\*.ps -o C:\*.pcx

Одна альтернатива, ImageMagick (бесплатно) + GhostScript стоит по сообщениям дорого за 32 000 долл. США / год + плата за установку 5000 долл. США.

1 голос
/ 07 ноября 2014

Вы можете честно проанализировать файл EPS самостоятельно.

Возможно, вы можете найти в Интернете информацию о различных форматах файлов, такую ​​как wotsit.org (которая существует с 90-х годов, когда люди все еще писали то, что им нужно с нуля).

Это имеет преимущество, заключающееся в том, что вам не нужно встраивать внешние артефакты в ваше решение, а также нести затраты на лицензирование. Очевидно, у него есть и обратная сторона личных затрат времени на исследования и разработки. Впоследствии, возможно, вы сможете поделиться своим кодом / библиотекой с другими, у кого нет затрат на авторство, копирование или лицензирование.

Удачи!

0 голосов
/ 02 марта 2013

С помощью ImageMagickNET.dll вы можете конвертировать файлы .eps, .ai, .psd, .tga в формат .jpg. Код c #:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using SimplePsd;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;
using System.Configuration;
using System.Media;
using System.DirectoryServices;
using System.Diagnostics;
namespace Master_Graphics
{
    public partial class Form1 : Form
    { 

        private SimplePsd.CPSD psd = new SimplePsd.CPSD();
        Process ffmpeg;
        string video;
        string thumb;
        public Form1()
        {
            InitializeComponent();
        }
 private void button4_Click(object sender, EventArgs e)
        {
ffmpeg = new Process();
                ffmpeg.StartInfo.Arguments = "convert \"" + listBox1.SelectedItem.ToString() + "\" -background white -flatten -density 300 -colors 512 -antialias  -normalize -units PixelsPerInch -quality 100 -colorspace RGB -resize 3425x3425  \"D:\\GRAPHICS SEARCH ENGINE\\GRAPHICS IMAGES\\EPS\\" + final + ".jpg\"";
                ffmpeg.StartInfo.FileName = ("C:\\Program Files (x86)\\ImageMagick-6.5.3-Q16\\convert.exe");
                ffmpeg.Start();
}
...