2016-04-22 23 views
0

我正在尝试将标准标签添加到PDF中,并且我必须在加载PDF时更新响应标题。我可以非常容易地为cq:页面添加页眉:我如何在CQ5中添加回复标题到pdf中

@SlingServlet(
    resourceTypes = "cq:Page", 
    extensions = "html", 
    methods = "GET") 

@Properties({ 
@Property(name = "service.description", value = "Servlet to handle all incoming widget modification") 
}) 
    public class canocalizePDF extends SlingAllMethodsServlet { 
    private static final long serialVersionUID = 1L; 

    @Override 
    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { 
     response.addHeader(“canonical", “test"); 
    } 
    @Override 
    protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { 

    } 
} 

但是当我尝试使用PDF时,它不起作用。我尝试过dam:Asset,dam:AssetContent as resourceTypes,但似乎没有任何工作。

任何帮助将是伟大的。

感谢, 维沙尔

+0

这些PDF是静态DAM资产的一部分吗? – Abhishek

+0

是的,像/content/dam/pdf/en/citrix-workspace-suite-brochure.pdf – Vishal

回答

1

你写不处理你的请求资产的servlet的。如果你想在AEM中处理这个,你将需要用你自己的servlet实现覆盖OOTB AEM的AssetDownloadServlet。然后,您可以在servlet响应中添加规范链接标头。
如何覆盖此内容在this blog post中有详细说明。他们还包含了一个链接到这个定制的示例代码。但是,如果你的设置中有一个网络服务器(例如Apache),那么你应该在那里处理这个问题。这在Moz blog post中显示。 Moz是SEO最佳实践的巅峰之作。我会推荐。

+0

感谢阿布舍克,如果我通过我在Apache中的conf文件处理这个,那么我将不得不为每个pdf文件做一个条目。我在JCR中为规范链接创建一个条目,然后我会读取该链接,然后将其添加到响应标头。让我试试你建议的链接。 – Vishal

+0

我在你建议的链接中使用了代码,但是当我加载pdf时它甚至没有做任何事情。你有没有可能在你的最后尝试这个。会真的很感激。 – Vishal

相关问题