Este artigo apresenta principalmente o conhecimento relevante sobre como implementar a visualização de impressão e a economia do conteúdo da página da web. Vamos aprender juntos!
1. Problemas sobre a impressão da página da web
Antes disso, eu geralmente usava o LODOP mais fácil de usar para executar operações de impressão. Isso foi coberto por muitos artigos em meus artigos anteriores. Este controle é um controle ActiveX. Depois de baixar e instalar, você pode imprimir na página. É também um controle muito conveniente. Portanto, é muito adequado para imprimir conteúdo comum, conjuntos de documentos e outras operações.
No entanto, com a atualização da tecnologia do navegador, esse plug-in parece não suportado no Chrome ou Firefox e basicamente abandona o método de processamento desse plug-in. Por exemplo, se eu precisar imprimir o conteúdo na caixa de diálogo na página, como mostrado abaixo.
Se você o processar da maneira normal de usar o LODOP, obterá um prompt do navegador Chrome e essa mensagem de erro continuará independentemente de você baixar ou atualizar o controle do LODOP.
Para métodos alternativos, este é o tópico deste artigo. Eu sempre gostei de encontrar algumas maneiras melhores de implementar as funções de que preciso, então encontrei o plug-in da PrintThis (https://github.com/jasonday/printthis) e jquery-print-preview-plugin (https://github.com/etimbo/JQUERYYBERY-Preview-plugin). Comparado com os dois, prefiro o uso simples e conveniente do primeiro.
2. Uso da impressão deste plug-in
Com o problema acima, introduzimos um novo método de impressão, ou seja, o plug-in jQuery para implementar a operação de impressão do conteúdo da página de que precisamos.
O uso deste plug-in é muito simples e conveniente. Primeiro, você precisa introduzir o arquivo JS correspondente na página, como mostrado abaixo.
<script src = "~/content/jQueryTools/printthis/printthis.js"> </script>
Adicionaremos dois botões na parte superior da página, como operações de impressão e exportação, o código é o seguinte
<div> <a href = "#" onclick = "javascript: visiew ();"> <img src = "~/content/imagens/print.gif"/> <r/> Imprima visualização </a> <a href = "#" onclick = "javascript: saves (); como </a> </div>
Então, também precisamos declarar um div para colocar o conteúdo da página da web exibida, o que é conveniente para imprimir nele.
O código de processamento que imprimimos também é muito simples, basta imprimir a camada diretamente. Você pode ver que o código de uso abaixo é muito simples.
// Função de visualização IMPRIGE VIVIEW () {$ ("#PrintContent"). PrintThis ({Debug: false, importCss: true, importStyle: true, printContainer: true, loadcss: "/content/themes/default/style.css", pagetitle: "Anteviar formalues: true}); };Após a execução da impressão, uma caixa de diálogo de visualização de impressão será exibida no IE e Chrome para confirmar se deve imprimir.
3. Salvar o conteúdo da página
Às vezes, para facilitar o processamento de negócios, geralmente podemos fornecer aos usuários uma operação para exportar conteúdo impresso. O código mostrado abaixo é exportar o conteúdo impresso para o Word para os usuários processarem e outros fins.
function saveas () {var id = $ ('#id2'). val (); window.open ('/Information/exportwordbyId? id =' + id); }A operação acima chama principalmente o método do controlador MVC para processamento, passa um ID para extrair o conteúdo e, em seguida, gerar o conteúdo da palavra necessário.
Em segundo plano, usamos principalmente o controle APOSE.WORD para gerar documentos modelos.
Podemos definir ou visualizar algumas informações de marcador no marcador, conforme mostrado na figura abaixo.
Dessa forma, podemos obter informações e especificar este modelo de palavras no código.
InformationInfo info = BllFactory <lorda> .Instance.findbyId (ID); if (info! = null) {string model = "~/content/modelo/scale de política placa.doc"; String templatefile = server.mappath (modelo); Aspose.words.document doc = new aspose.words.document (templatefile);O conteúdo do modelo da palavra pode ser substituído usando o texto, como mostrado abaixo.
SetBookmark (Ref Doc, "Content", Info.Content);
Você também pode usar o método de marcador de favoritos para consultar e substituí -lo, conforme mostrado no código a seguir.
Aspose.words.bookmark markmark = doc.range.bookmarks [title]; if (marcador! = null) {markmark.text = value; }Isso requer tratamento especial para o principal conteúdo HTML. Geralmente, é necessário escrever conteúdo usando um método dedicado para inserir HTML, caso contrário, o código HTML será exibido. O conteúdo escrito usando um método HTML dedicado basicamente não é diferente do que vemos na página da web. Conforme mostrado no código a seguir.
DocumentBuilder Builder = new DocumentBuilder (DOC); Aspose.words.bookmark markmark = doc.range.bookmarks ["content"]; if (markmark! = null) {builder.movetobookmark (markmark.name); builder.inserthtml (info.content); }Todo o método de importação de documentos do Word é usar a integração desses conteúdos para alcançar a geração de um documento padrão. Esse tipo de documento de negócios é um modelo fixo, por isso é muito adequado para uso em negócios reais. Possui melhor plasticidade e estética do que arquivos HTML ou documentos gerados automaticamente usando outros métodos.
O código inteiro é mostrado abaixo.
public filestreamResult exportwordbyId (string id) {if (string.isnullorEmpty (id)) retornar nulo; InformationInfo info = BllFactory <lorda> .Instance.findbyId (ID); if (info! = null) {string model = "~/content/modelo/scale de política placa.doc"; String templatefile = server.mappath (modelo); Aspose.words.document doc = new aspose.words.document (templatefile); #Region Use texto para substituir // dicionário <string, string> dictSource = new Dictionary <string, string> (); //dictSource.add("title ", info.title); //dictSource.add("content ", info.content); //dictSource.add("editor ", info.editor); //dictSource.add("edittime ", info.edittime.toString ()); //dictSource.add("subtype ", info.subtype); // foreach (nome da string em dictSource.keys) // {// doc.range.replace (nome, dictSource [nome], true, true); //} #endregion // substitua o setbookmark (ref doc, "title", info.title); SetBookmark (Ref Doc, "Editor", info.editor); SetBookMark (Ref Doc, "Edittime", info.edittime.toString ()); SetBookmark (Ref Doc, "Subtype", info.subtype); // SetBookMark (Ref Doc, "Content", Info.Content); // Para conteúdo HTML, você precisa escrever DocumentBuilder Builder = new DocumentBuilder (DOC); Aspose.words.bookmark markmark = doc.range.bookmarks ["content"]; if (markmark! = null) {builder.movetobookmark (markmark.name); builder.inserthtml (info.content); } doc.Save (System.Web.httpContext.current.Response, info.title, aspose.words.contentDisposition.attachment, aspose.words.saving.saveOptions.createsaveOptions (aspose.words.saveformat.doc)); HttpResponseBase Respons = controlContext.httpContext.Response; resposta.flush (); resposta.END (); return new filestreamResult (Response.OutputStream, "Application/MS-Word"); } retornar nulo; } private void SetBookMark (ref Aspose.words.document Doc, título da string, valor da string) {Aspose.words.Bookmark marckmark = doc.range.bookmarks [title]; if (marcador! = null) {markmark.text = value; }}O documento final do Word exportado é o conteúdo específico do documento específico e a interface de visualização de palavras é mostrada abaixo.
O exposto acima é o resumo da experiência da estrutura de desenvolvimento metrônico de Bootstrap, com base no bootstrap metrônico, introduzido a você [9] para realizar a visualização de impressão e economizar conteúdo da página da web. Espero que seja útil para todos. Se você quiser saber mais informações, preste atenção ao site wulin.com!