在我工作的公司中,我们有几个不同的服务
我被要求创建一些视图,这些视图将通过API转换为PDF,但是由于它们与面向内部或面向外部的项目无关,因此我无法决定将其放置在何处。
我的第一个想法是将它们放入我们的.NET Core API。但是,这以前是严格的json-only API,所以我很想这不是预期的用途。
互联网,我的问题如下
谢谢!
答案 0 :(得分:1)
您是对的,Razor的视图将过多。我看到两个选择:
后端:创建一个端点,该端点将根据传递的数据返回PDF文件。当然,您可以扩展数据。这种方式与Razor类似:您有一个视图模型并将其渲染为PDF文件。库的示例:void test(){
#if _SOME_VAR
std::cout << "test" << std::endl;
#if _SOME_VAR2
std::cout << "test2" << std::endl;
#endif
#endif
}
前端:在客户端将HTML转换为PDF。像iTextSharp.LGPLv2.Core
我更喜欢第一个选项,因为首先,浏览器中已经有一个“另存为PDF”选项,因此这将是某种功能上的重复。另一方面,后端PDF生成似乎更加灵活(您可以使用所有域,也可以创建独立的布局),并且可以组织某种文件缓存。