我正在搜索过去两天,但没有找到任何东西。
我的要求是在我的Web应用程序(C#.Net)中创建文档查看器,我不想使用任何第三方工具。我可以转换图像或PDF格式的文件,也可以转换为可在网页上轻松呈现的任何常见格式文件。我也不能使用Introp对象。
任何帮助都将受到高度赞赏
答案 0 :(得分:3)
如果您无法在解决方案中使用COM / Interop技术,则可以查看专门的第三方选项。我发现您不希望使用它们,但.NET Framework中没有现有的内置解决方案。在一个类似的线程中查看my answer,该线程描述了如何使用第三方库完成相同的任务(例如,DevExpress,因为我有使用它的经验)。此外,请查看Documents演示,您可以在其中查看如何从不同类型的MS Office文档创建图像/缩略图。
答案 1 :(得分:2)
答案 2 :(得分:2)
您在其中一条评论中提到您想自己编写所有代码,但不知道从哪里开始。这就是我如何去做...
首先,您需要熟悉Microsoft Office格式规范。您可以找到here(其中包含指向技术规范的链接)。 Office文档实际上是一个.zip文件,其中包含XML文件以及表示附件的任何二进制数据。只需将.docx文件重命名为.zip,您就可以打开它并查看XML和其他任何支持文档(对于xlsx等也是如此)。
然后,您需要熟悉PDF或HTML,因为您现在的工作是将各种Office文档结构转换为PDF或HTML结构,确保尊重页面布局,边距,顺序,等...
正如其他人所说,这是一项艰巨的任务,这也是今天存在第三方工具的原因。此外,每个第三方工具集都有它的限制,因为这很难“正确”#34;在所有情况下都会有边缘案例适用于一个文档而不是另一个文档(因为他们可能没有使用Microsoft Word来保存.docx,也许他们使用OpenOffice和OpenOffice对标准的解释略有不同......)
答案 3 :(得分:0)
您可以使用smallpdf或OfficeToPDF等工具来执行此操作。只需将它们集成到您的应用程序中即可。
小PDF(https://smallpdf.com/library-detail)
officetopdf(https://officetopdf.codeplex.com/)
答案 4 :(得分:-2)
有多种方法可以呈现PDF文件以供网站查看。大多数浏览器都支持查看PDF文件,因此只要您使用Web应用程序定位的所有浏览器都这样做,就可以轻松实现。
一种方法是使用锚(a)标记超链接引用PDF文件。这个将在单击时在新的浏览器选项卡中显示指定的PDF文件。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void printAfterX(int* arr, int n, int* x);
int main()
{
int arr[] = { 4, 8, 6, 2, 1, 3, 5, 7, 8, 9, 5 };
printAfterX(arr, 11, arr+6);
return 0;
}
void printAfterX(int* arr, int n, int* x)
{
if (x >= arr && x <= (arr + n)) //this checks if x is in the limits
{
x++;
for (*arr = 0; *arr <= n; *arr++)
{
printf("%d ", *(arr + *x));
}
}
else
{
printf("Not in range ");
}
}
要在现有浏览器标签中显示PDF文件,请从锚标记中删除target =“_ blank”选项。
此Adobe page描述了如何创建引用PDF文件中特定页面的锚标记。