提取PDF的一部分

时间:2017-05-11 14:07:21

标签: pdf pdfsharp

我试图使用PDF Sharp提取pdf的一部分(该部分的坐标将始终保持不变)。然后我会将该部分的大小调整为4" x 6"用于打印到粘性背面标签上。我如何提取PDF的部分?这是在控制台应用程序C#中。

2 个答案:

答案 0 :(得分:0)

没有简单的方法从PDF文件中提取部件。

可能的解决方法:在标签大小中创建一个新页面,然后将现有页面绘制到新页面上,以便在新页面上显示所需的矩形。

如果需要,绘制白色矩形以隐藏不属于所需部分的信息,但在新页面上可以看到。

答案 1 :(得分:0)

所以这就是我如何设法做到这一点,而不是一个完美的解决方案(你确实失去了一些质量)。这使用Spire.PDF,而不是我最初计划的PDF Sharp。我很幸运,输出大小接近4" X 6"。所以我只是使用缩小来适应打印选项。

public class CsrfInterceptor extends HandlerInterceptorAdapter {

private static final Logger logger = LogManager.getLogger(CsrfInterceptor.class);

@Override
public boolean preHandle(HttpServletRequest request,
                         HttpServletResponse response, Object handler) throws Exception {

    Session session = SecurityUtils.getSubject().getSession();
    System.out.println("==========sessionId:"+session.getId());
    String sessionCsrfToken = (String) session.getAttribute(CsrfTokenManager.CSRF_TOKEN_FOR_SESSION_ATTR_NAME);

    if ("POST".equalsIgnoreCase(request.getMethod())) {
        String CsrfToken = CsrfTokenManager.getTokenFromRequest(request);
        if (CsrfToken == null || !CsrfToken.equals(sessionCsrfToken)) {
            String reLoginUrl = "/login?backurl="
                    + URLEncoder.encode(getCurrentUrl(request), "utf-8");

           response.sendRedirect(reLoginUrl);
            return false;
        }
    }

    return true;
}