GVKun编程网logo

AngularJS – 在前端/浏览器中突出显示现有pdf文件的文本(angular pdf预览)

9

想了解AngularJS–在前端/浏览器中突出显示现有pdf文件的文本的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于angularpdf预览的相关问题,此外,我们还将为您介绍关于Angul

想了解AngularJS – 在前端/浏览器中突出显示现有pdf文件的文本的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于angular pdf预览的相关问题,此外,我们还将为您介绍关于Angular JS-值更改时突出显示dom、angularjs – Angular Bootstrap DateTimePicker – 在嵌入式日历上突出显示今日日期、angularjs – Angular JS:当对象引用另一个对象时,angular.copy会使浏览器崩溃、angularjs – Angular JS:检测ng-bind-html是否完成加载然后突出显示代码语法的新知识。

本文目录一览:

AngularJS – 在前端/浏览器中突出显示现有pdf文件的文本(angular pdf预览)

AngularJS – 在前端/浏览器中突出显示现有pdf文件的文本(angular pdf预览)

我找到了图书馆

PDF creation

使用此库,可以创建不同样式的pdf文档.
我的问题是,是否有可能使用AngularJS标记现有pdf文件的文本(并且可能添加指向此标记文本的链接)?
或者有任何解决方法吗?

解决方法

这个问题有点过于宽泛 – 不确定“标记”是什么意思 – 你的意思是以某种方式突出显示还是实际选择?

无论如何,首先要到达正确的页面 – 您可以使用超链接中的片段标识符通过页面参数链接到PDF中的特定页面.例如

<a href="file.pdf#page=1">page 1</a>
<a href="file.pdf#page=2">page 2</a>

如果要通过超链接突出显示页面的特定部分,可以使用突出显示参数,请注意您还必须将页面设置为使用突出显示参数.例如

<a href="file.pdf#page=1&highlight=10,10,50,50">page 1 - highlight</a>

矩形值是坐标系中的整数,其中0,0表示左上角,值以lt,rt,top,btm的顺序给出.

也可以通过nameddest参数打开PDF文件到“命名目的地”,即文档中的命名部分.例如

<a href="file.pdf#nameddest=mysection">my section</a>

这很好,因为插入,删除页面无关紧要,因为该部分将始终正确链接.

你可以阅读约Named Destinations here和various Parameters for Opening PDF Files

Angular JS-值更改时突出显示dom

Angular JS-值更改时突出显示dom

这里有角的noobie。我想知道当范围中的值以某种方式更改时更改dom的最佳方法是什么。我读到将dom操纵逻辑放入控制器中并不是很好,这就是指令的工作。

这是一个小矮人

http://plnkr.co/edit/xWk5UBwifbCF2raVvw81?p=preview

基本上,当通过单击上面的plunkr中的“加载数据”按钮更改数据时,我希望其值更改为的单元格自动突出显示。我无法让它为我的一生工作。

有什么帮助吗?

答案1

小编典典

我认为最好是观察每个 荧光笔 的具体价值,而不是观察整个收藏夹。例如:

<td highlighter="person.firstName">{{ person.firstName }}</td>

这样,highlighter-directive可能非常简单,例如:

app.directive(''highlighter'', [''$timeout'', function($timeout) {  return {    restrict: ''A'',    scope: {      model: ''=highlighter''    },    link: function(scope, element) {      scope.$watch(''model'', function (nv, ov) {        if (nv !== ov) {          // apply class          element.addClass(''highlight'');          // auto remove after some delay          $timeout(function () {            element.removeClass(''highlight'');          }, 1000);        }      });    }  };}]);

但是,要使此工作有效,您必须告诉Angle数据实际上已更改。当前,people按对象身份的角度轨迹不是这种情况。覆盖它的那一刻,angular将删除所有关联的dom元素。为此,请使用:

ng-repeat="person in people track by $index"

这将告诉angular将数组的索引视为身份。

演示:http://jsbin.com/vutevifadi/1/

angularjs – Angular Bootstrap DateTimePicker – 在嵌入式日历上突出显示今日日期

angularjs – Angular Bootstrap DateTimePicker – 在嵌入式日历上突出显示今日日期

如果我的帖子有任何错误,请接受我的道歉.这是我在此的头一篇博文.但是,我不是StackOverflow的新手.纠正我,如果有的话.

我正在使用来自以下网址的angular-bootstrap-datetimepicker库:
Link to library

我目前正在页面上嵌入日历.
我正在使用angular.js,moment.js,grunt和bower.加载日历绝对没有问题,甚至可以选择日期并显示所选日期.

以下是示例代码:

<div>
  Selected Date: {{ data.embeddedDate | date:'yyyy-MMM-dd' }}
  <datetimepicker data-ng-model="data.embeddedDate" data-datetimepicker-config="{ startView:'day',minView:'day'}" />
</div>

我想在datetimepicker在页面上显示时自动突出显示今天的日期.
如您所见,在配置选项中,我可以设置默认视图和最小视图.

注意:我试图模仿Plunkr中的工作代码(到现在为止),但它没有显示日历.我也添加了所有库.无论如何,这只是为了想法.如果我能让Plunkr工作,我会再次更新.
这是Plunkr的链接.

任何建议(关于默认今天突出显示日期)将不胜感激.

解决方法

要使指令默认显示今天的日期,您可以通过其范围在控制器中设置data.embeddedDate的值,如下所示:

$scope.data = { embeddedDate: new Date() };

Working Plunkr

angularjs – Angular JS:当对象引用另一个对象时,angular.copy会使浏览器崩溃

angularjs – Angular JS:当对象引用另一个对象时,angular.copy会使浏览器崩溃

我有以下 JavaScript / Angular代码:
var a = {};
var b = {};
a.ref = b;
b.ref = a;
angular.copy(a);

当angular.copy触发时,浏览器会锁定.我假设这是因为复制功能正在进行深层复制,当它开始复制b的引用时,它进入b然后想要复制它的引用,从而创建一个圆形副本,这将永远不会结束.

这个假设是对的吗?如果是这样,有没有办法避免这种情况?我假设答案将涉及改变数据的外观,但我很想听到别人的想法.

你的假设是对的,问题是循环引用. JSON.stringify也会抱怨这个结构. jQuery.extend在一个非常基本的层次上检测循环引用,并且可以在这里处理你的基本示例,但是 jQuery.extend has its own issues as well.如果你已经在使用jQuery,你可以使用extend,但是否则你可能想看看你自己写的东西,或者你可以使用我通过Google找到的这个花哨的cloneObject函数:

https://gist.github.com/NV/1396086

angularjs – Angular JS:检测ng-bind-html是否完成加载然后突出显示代码语法

angularjs – Angular JS:检测ng-bind-html是否完成加载然后突出显示代码语法

我使用ng-bind-html来绑定从数据库获取的数据.

<p ng-bind-html="myHTML"></p>   


app.controller('customersCtrl',function($scope,$http,$stateParams) {
    console.log($stateParams.id);
    $http.get("api link"+$stateParams.id)
    .then(function(response) {
      $scope.myHTML = response.data.content;

        // this will highlight the code Syntax
        $('pre code').each(function(i,block) {
            hljs.highlightBlock(block);
        });
    });
});

当屏幕上显示数据时,我想运行

$('pre code').each(function(i,block) {
      hljs.highlightBlock(block);
});

用于突出显示数据中的代码语法但不突出显示. (我使用@L_301_0@突出显示代码语法)

如果我在1秒后延迟加载突出显示代码,它会起作用,但我认为这不是一个好的解决方案

setTimeout(function () {
    $('pre code').each(function(i,block) {
        hljs.highlightBlock(block);
    });
  },1000);

我想也许在ng-bind-html完成之前运行的高亮代码.

===
UPDATE
我正在使用$timeout,延迟时间为0,因为有人推荐.但是,有时当网络速度较慢且页面加载速度较慢时,代码将不会突出显示.

$scope.myHTML = response.data.content;
$timeout(function() {
  $('pre code').each(function(i,block) {
      hljs.highlightBlock(block);
  });
},0);

解决方法

这是指令非常方便的地方.为什么不自己附加HTML然后运行荧光笔呢?

模板:

<div ng-model="myHTML" highlight></div>

指示:

.directive('highlight',[
    function () {
        return {
            replace: false,scope: {
                'ngModel': '='
            },link: function (scope,element) {
                element.html(scope.ngModel);
                var items = element[0].querySelectorAll('code,pre');
                angular.forEach(items,function (item) {
                    hljs.highlightBlock(item);
                });

            }
        };
    }
]);

示例:http://plnkr.co/edit/ZbcNgfl6xL2QDDqL9cKc?p=preview

关于AngularJS – 在前端/浏览器中突出显示现有pdf文件的文本angular pdf预览的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Angular JS-值更改时突出显示dom、angularjs – Angular Bootstrap DateTimePicker – 在嵌入式日历上突出显示今日日期、angularjs – Angular JS:当对象引用另一个对象时,angular.copy会使浏览器崩溃、angularjs – Angular JS:检测ng-bind-html是否完成加载然后突出显示代码语法的相关信息,请在本站寻找。

本文标签: