Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我正在尝试创建将doc/docx转换为png格式的Web服务。
我似乎遇到的问题是,考虑到我正在寻找免费的东西,而不是依赖于Office的东西(我将运行该应用程序的服务器未安装Office),因此我找不到任何可以满足我需要的库或接近它的东西)。
有什么可以帮助我实现这一目标的吗?还是我必须选择使用一些依赖办公室的东西(例如Interop-我读过的哪一句话确实不能在服务器上使用)还是不是免费的?
谢谢
Spire.doc(WPF):
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我正在尝试创建将doc/docx转换为png格式的Web服务。
我似乎遇到的问题是,考虑到我正在寻找免费的东西,而不是依赖于Office的东西(我将运行该应用程序的服务器未安装Office),因此我找不到任何可以满足我需要的库或接近它的东西)。
有什么可以帮助我实现这一目标的吗?还是我必须选择使用一些依赖办公室的东西(例如Interop-我读过的哪一句话确实不能在服务器上使用)还是不是免费的?
谢谢
最佳答案
我知道这很可能不是您想要的,因为它不是免费的。
但是Aspose可以满足您的需求。
Spire.doc也是如此。同样,不是免费的。
假设:
string exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar;
string dataDir = new Uri(new Uri(exeDir), @"../../Data/").LocalPath;
// Open the document.
Document doc = new Document(dataDir + "SaveAsPNG.doc");
//Create an ImageSaveOptions object to pass to the Save method
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Png);
options.Resolution = 160;
// Save each page of the document as Png.
for (int i = 0; i < doc.PageCount; i++)
{
options.PageIndex = i;
doc.Save(string.Format(dataDir+i+"SaveAsPNG out.Png", i), options);
}
Spire.doc(WPF):
using Spire.Doc;
using Spire.Doc.Documents;
namespace Word2Image
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Document doc = new Document("sample.docx", FileFormat.Docx2010);
BitmapSource[] bss = doc.SaveToImages(ImageType.Bitmap);
for (int i = 0; i < bss.Length; i++)
{
SourceToBitmap(bss[i]).Save(string.Format("img-{0}.png", i));
}
}
private Bitmap SourceToBitmap(BitmapSource source)
{
Bitmap bmp;
using (MemoryStream ms = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(source));
encoder.Save(ms);
bmp = new Bitmap(ms);
}
return bmp;
}
}
}
10-07 12:11